{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Deep Learning Models -- A collection of various deep learning architectures, models, and tips for TensorFlow and PyTorch in Jupyter Notebooks.\n",
    "- Author: Sebastian Raschka\n",
    "- GitHub Repository: https://github.com/rasbt/deeplearning-models"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Sebastian Raschka \n",
      "\n",
      "CPython 3.6.8\n",
      "IPython 7.2.0\n",
      "\n",
      "torch 1.0.0\n"
     ]
    }
   ],
   "source": [
    "%load_ext watermark\n",
    "%watermark -a 'Sebastian Raschka' -v -p torch"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- Runs on CPU or GPU (if available)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Model Zoo -- Convolutional Variational Autoencoder"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "A simple convolutional variational autoencoder that compresses 768-pixel MNIST images down to a 15-pixel latent vector representation."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Imports"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import time\n",
    "import numpy as np\n",
    "import torch\n",
    "import torch.nn.functional as F\n",
    "from torch.utils.data import DataLoader\n",
    "from torchvision import datasets\n",
    "from torchvision import transforms\n",
    "\n",
    "\n",
    "if torch.cuda.is_available():\n",
    "    torch.backends.cudnn.deterministic = True"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Device: cuda:1\n",
      "Image batch dimensions: torch.Size([128, 1, 28, 28])\n",
      "Image label dimensions: torch.Size([128])\n"
     ]
    }
   ],
   "source": [
    "##########################\n",
    "### SETTINGS\n",
    "##########################\n",
    "\n",
    "# Device\n",
    "device = torch.device(\"cuda:1\" if torch.cuda.is_available() else \"cpu\")\n",
    "print('Device:', device)\n",
    "\n",
    "# Hyperparameters\n",
    "random_seed = 0\n",
    "learning_rate = 0.001\n",
    "num_epochs = 50\n",
    "batch_size = 128\n",
    "\n",
    "# Architecture\n",
    "num_features = 784\n",
    "num_latent = 15\n",
    "\n",
    "\n",
    "##########################\n",
    "### MNIST DATASET\n",
    "##########################\n",
    "\n",
    "# Note transforms.ToTensor() scales input images\n",
    "# to 0-1 range\n",
    "train_dataset = datasets.MNIST(root='data', \n",
    "                               train=True, \n",
    "                               transform=transforms.ToTensor(),\n",
    "                               download=True)\n",
    "\n",
    "test_dataset = datasets.MNIST(root='data', \n",
    "                              train=False, \n",
    "                              transform=transforms.ToTensor())\n",
    "\n",
    "\n",
    "train_loader = DataLoader(dataset=train_dataset, \n",
    "                          batch_size=batch_size, \n",
    "                          shuffle=True)\n",
    "\n",
    "test_loader = DataLoader(dataset=test_dataset, \n",
    "                         batch_size=batch_size, \n",
    "                         shuffle=False)\n",
    "\n",
    "# Checking the dataset\n",
    "for images, labels in train_loader:  \n",
    "    print('Image batch dimensions:', images.shape)\n",
    "    print('Image label dimensions:', labels.shape)\n",
    "    break"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "## ### MODEL\n",
    "##########################\n",
    "\n",
    "class ConvVariationalAutoencoder(torch.nn.Module):\n",
    "\n",
    "    def __init__(self, num_features, num_latent):\n",
    "        super(ConvVariationalAutoencoder, self).__init__()\n",
    "        \n",
    "        ###############\n",
    "        # ENCODER\n",
    "        ##############\n",
    "        \n",
    "        # calculate same padding:\n",
    "        # (w - k + 2*p)/s + 1 = o\n",
    "        # => p = (s(o-1) - w + k)/2\n",
    "\n",
    "        self.enc_conv_1 = torch.nn.Conv2d(in_channels=1,\n",
    "                                          out_channels=16,\n",
    "                                          kernel_size=(6, 6),\n",
    "                                          stride=(2, 2),\n",
    "                                          padding=0)\n",
    "\n",
    "        self.enc_conv_2 = torch.nn.Conv2d(in_channels=16,\n",
    "                                          out_channels=32,\n",
    "                                          kernel_size=(4, 4),\n",
    "                                          stride=(2, 2),\n",
    "                                          padding=0)                 \n",
    "        \n",
    "        self.enc_conv_3 = torch.nn.Conv2d(in_channels=32,\n",
    "                                          out_channels=64,\n",
    "                                          kernel_size=(2, 2),\n",
    "                                          stride=(2, 2),\n",
    "                                          padding=0)                     \n",
    "        \n",
    "        self.z_mean = torch.nn.Linear(64*2*2, num_latent)\n",
    "        # in the original paper (Kingma & Welling 2015, we use\n",
    "        # have a z_mean and z_var, but the problem is that\n",
    "        # the z_var can be negative, which would cause issues\n",
    "        # in the log later. Hence we assume that latent vector\n",
    "        # has a z_mean and z_log_var component, and when we need\n",
    "        # the regular variance or std_dev, we simply use \n",
    "        # an exponential function\n",
    "        self.z_log_var = torch.nn.Linear(64*2*2, num_latent)\n",
    "        \n",
    "        \n",
    "        \n",
    "        ###############\n",
    "        # DECODER\n",
    "        ##############\n",
    "        \n",
    "        self.dec_linear_1 = torch.nn.Linear(num_latent, 64*2*2)\n",
    "               \n",
    "        self.dec_deconv_1 = torch.nn.ConvTranspose2d(in_channels=64,\n",
    "                                                     out_channels=32,\n",
    "                                                     kernel_size=(2, 2),\n",
    "                                                     stride=(2, 2),\n",
    "                                                     padding=0)\n",
    "                                 \n",
    "        self.dec_deconv_2 = torch.nn.ConvTranspose2d(in_channels=32,\n",
    "                                                     out_channels=16,\n",
    "                                                     kernel_size=(4, 4),\n",
    "                                                     stride=(3, 3),\n",
    "                                                     padding=1)\n",
    "        \n",
    "        self.dec_deconv_3 = torch.nn.ConvTranspose2d(in_channels=16,\n",
    "                                                     out_channels=1,\n",
    "                                                     kernel_size=(6, 6),\n",
    "                                                     stride=(3, 3),\n",
    "                                                     padding=4)\n",
    "\n",
    "\n",
    "    def reparameterize(self, z_mu, z_log_var):\n",
    "        # Sample epsilon from standard normal distribution\n",
    "        eps = torch.randn(z_mu.size(0), z_mu.size(1)).to(device)\n",
    "        # note that log(x^2) = 2*log(x); hence divide by 2 to get std_dev\n",
    "        # i.e., std_dev = exp(log(std_dev^2)/2) = exp(log(var)/2)\n",
    "        z = z_mu + eps * torch.exp(z_log_var/2.) \n",
    "        return z\n",
    "        \n",
    "    def encoder(self, features):\n",
    "        x = self.enc_conv_1(features)\n",
    "        x = F.leaky_relu(x)\n",
    "        #print('conv1 out:', x.size())\n",
    "        \n",
    "        x = self.enc_conv_2(x)\n",
    "        x = F.leaky_relu(x)\n",
    "        #print('conv2 out:', x.size())\n",
    "        \n",
    "        x = self.enc_conv_3(x)\n",
    "        x = F.leaky_relu(x)\n",
    "        #print('conv3 out:', x.size())\n",
    "        \n",
    "        z_mean = self.z_mean(x.view(-1, 64*2*2))\n",
    "        z_log_var = self.z_log_var(x.view(-1, 64*2*2))\n",
    "        encoded = self.reparameterize(z_mean, z_log_var)\n",
    "        \n",
    "        return z_mean, z_log_var, encoded\n",
    "    \n",
    "    def decoder(self, encoded):\n",
    "        x = self.dec_linear_1(encoded)\n",
    "        x = x.view(-1, 64, 2, 2)\n",
    "        \n",
    "        x = self.dec_deconv_1(x)\n",
    "        x = F.leaky_relu(x)\n",
    "        #print('deconv1 out:', x.size())\n",
    "        \n",
    "        x = self.dec_deconv_2(x)\n",
    "        x = F.leaky_relu(x)\n",
    "        #print('deconv2 out:', x.size())\n",
    "        \n",
    "        x = self.dec_deconv_3(x)\n",
    "        x = F.leaky_relu(x)\n",
    "        #print('deconv1 out:', x.size())\n",
    "        \n",
    "        decoded = torch.sigmoid(x)\n",
    "        return decoded\n",
    "\n",
    "    def forward(self, features):\n",
    "        \n",
    "        z_mean, z_log_var, encoded = self.encoder(features)\n",
    "        decoded = self.decoder(encoded)\n",
    "        \n",
    "        return z_mean, z_log_var, encoded, decoded\n",
    "\n",
    "    \n",
    "torch.manual_seed(random_seed)\n",
    "model = ConvVariationalAutoencoder(num_features,\n",
    "                                   num_latent)\n",
    "model = model.to(device)\n",
    "    \n",
    "\n",
    "##########################\n",
    "### COST AND OPTIMIZER\n",
    "##########################\n",
    "\n",
    "optimizer = torch.optim.Adam(model.parameters(), lr=learning_rate)  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Training"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 001/050 | Batch 000/469 | Cost: 70508.8125\n",
      "Epoch: 001/050 | Batch 050/469 | Cost: 69360.6953\n",
      "Epoch: 001/050 | Batch 100/469 | Cost: 41214.9258\n",
      "Epoch: 001/050 | Batch 150/469 | Cost: 34571.9688\n",
      "Epoch: 001/050 | Batch 200/469 | Cost: 28148.7500\n",
      "Epoch: 001/050 | Batch 250/469 | Cost: 29157.5918\n",
      "Epoch: 001/050 | Batch 300/469 | Cost: 27405.8359\n",
      "Epoch: 001/050 | Batch 350/469 | Cost: 26417.7324\n",
      "Epoch: 001/050 | Batch 400/469 | Cost: 25685.3320\n",
      "Epoch: 001/050 | Batch 450/469 | Cost: 25538.5293\n",
      "Time elapsed: 0.14 min\n",
      "Epoch: 002/050 | Batch 000/469 | Cost: 25301.1914\n",
      "Epoch: 002/050 | Batch 050/469 | Cost: 24180.0254\n",
      "Epoch: 002/050 | Batch 100/469 | Cost: 24124.1309\n",
      "Epoch: 002/050 | Batch 150/469 | Cost: 24285.9629\n",
      "Epoch: 002/050 | Batch 200/469 | Cost: 24396.1914\n",
      "Epoch: 002/050 | Batch 250/469 | Cost: 23214.3711\n",
      "Epoch: 002/050 | Batch 300/469 | Cost: 23690.0957\n",
      "Epoch: 002/050 | Batch 350/469 | Cost: 23472.6250\n",
      "Epoch: 002/050 | Batch 400/469 | Cost: 22830.4551\n",
      "Epoch: 002/050 | Batch 450/469 | Cost: 23235.6602\n",
      "Time elapsed: 0.28 min\n",
      "Epoch: 003/050 | Batch 000/469 | Cost: 21816.1934\n",
      "Epoch: 003/050 | Batch 050/469 | Cost: 22230.9316\n",
      "Epoch: 003/050 | Batch 100/469 | Cost: 21450.3535\n",
      "Epoch: 003/050 | Batch 150/469 | Cost: 22165.5781\n",
      "Epoch: 003/050 | Batch 200/469 | Cost: 20737.0566\n",
      "Epoch: 003/050 | Batch 250/469 | Cost: 22005.0625\n",
      "Epoch: 003/050 | Batch 300/469 | Cost: 21199.4375\n",
      "Epoch: 003/050 | Batch 350/469 | Cost: 20788.6172\n",
      "Epoch: 003/050 | Batch 400/469 | Cost: 21091.8125\n",
      "Epoch: 003/050 | Batch 450/469 | Cost: 20739.7637\n",
      "Time elapsed: 0.43 min\n",
      "Epoch: 004/050 | Batch 000/469 | Cost: 20847.3320\n",
      "Epoch: 004/050 | Batch 050/469 | Cost: 21085.3945\n",
      "Epoch: 004/050 | Batch 100/469 | Cost: 19874.4863\n",
      "Epoch: 004/050 | Batch 150/469 | Cost: 20014.3594\n",
      "Epoch: 004/050 | Batch 200/469 | Cost: 19658.4062\n",
      "Epoch: 004/050 | Batch 250/469 | Cost: 19592.5801\n",
      "Epoch: 004/050 | Batch 300/469 | Cost: 20177.1680\n",
      "Epoch: 004/050 | Batch 350/469 | Cost: 19534.2344\n",
      "Epoch: 004/050 | Batch 400/469 | Cost: 19567.2852\n",
      "Epoch: 004/050 | Batch 450/469 | Cost: 19308.6367\n",
      "Time elapsed: 0.57 min\n",
      "Epoch: 005/050 | Batch 000/469 | Cost: 18299.0762\n",
      "Epoch: 005/050 | Batch 050/469 | Cost: 17929.8359\n",
      "Epoch: 005/050 | Batch 100/469 | Cost: 19014.4316\n",
      "Epoch: 005/050 | Batch 150/469 | Cost: 18907.9668\n",
      "Epoch: 005/050 | Batch 200/469 | Cost: 18992.6836\n",
      "Epoch: 005/050 | Batch 250/469 | Cost: 18611.7383\n",
      "Epoch: 005/050 | Batch 300/469 | Cost: 18453.7012\n",
      "Epoch: 005/050 | Batch 350/469 | Cost: 18959.7227\n",
      "Epoch: 005/050 | Batch 400/469 | Cost: 18798.1758\n",
      "Epoch: 005/050 | Batch 450/469 | Cost: 18019.3672\n",
      "Time elapsed: 0.71 min\n",
      "Epoch: 006/050 | Batch 000/469 | Cost: 18124.0820\n",
      "Epoch: 006/050 | Batch 050/469 | Cost: 18439.6680\n",
      "Epoch: 006/050 | Batch 100/469 | Cost: 17569.6094\n",
      "Epoch: 006/050 | Batch 150/469 | Cost: 18261.6934\n",
      "Epoch: 006/050 | Batch 200/469 | Cost: 17973.9492\n",
      "Epoch: 006/050 | Batch 250/469 | Cost: 16992.7305\n",
      "Epoch: 006/050 | Batch 300/469 | Cost: 18452.1992\n",
      "Epoch: 006/050 | Batch 350/469 | Cost: 17165.4297\n",
      "Epoch: 006/050 | Batch 400/469 | Cost: 18000.2754\n",
      "Epoch: 006/050 | Batch 450/469 | Cost: 16839.3262\n",
      "Time elapsed: 0.86 min\n",
      "Epoch: 007/050 | Batch 000/469 | Cost: 17863.0645\n",
      "Epoch: 007/050 | Batch 050/469 | Cost: 17572.0059\n",
      "Epoch: 007/050 | Batch 100/469 | Cost: 17348.5625\n",
      "Epoch: 007/050 | Batch 150/469 | Cost: 17124.4922\n",
      "Epoch: 007/050 | Batch 200/469 | Cost: 17443.2051\n",
      "Epoch: 007/050 | Batch 250/469 | Cost: 17221.6523\n",
      "Epoch: 007/050 | Batch 300/469 | Cost: 17059.4297\n",
      "Epoch: 007/050 | Batch 350/469 | Cost: 17353.8359\n",
      "Epoch: 007/050 | Batch 400/469 | Cost: 18116.3086\n",
      "Epoch: 007/050 | Batch 450/469 | Cost: 17090.7910\n",
      "Time elapsed: 1.00 min\n",
      "Epoch: 008/050 | Batch 000/469 | Cost: 17174.0098\n",
      "Epoch: 008/050 | Batch 050/469 | Cost: 16741.3477\n",
      "Epoch: 008/050 | Batch 100/469 | Cost: 16833.8691\n",
      "Epoch: 008/050 | Batch 150/469 | Cost: 17041.8145\n",
      "Epoch: 008/050 | Batch 200/469 | Cost: 16583.4785\n",
      "Epoch: 008/050 | Batch 250/469 | Cost: 17148.7363\n",
      "Epoch: 008/050 | Batch 300/469 | Cost: 16401.9492\n",
      "Epoch: 008/050 | Batch 350/469 | Cost: 16366.9717\n",
      "Epoch: 008/050 | Batch 400/469 | Cost: 16309.4883\n",
      "Epoch: 008/050 | Batch 450/469 | Cost: 16813.7383\n",
      "Time elapsed: 1.14 min\n",
      "Epoch: 009/050 | Batch 000/469 | Cost: 16475.1348\n",
      "Epoch: 009/050 | Batch 050/469 | Cost: 16717.6797\n",
      "Epoch: 009/050 | Batch 100/469 | Cost: 16681.8125\n",
      "Epoch: 009/050 | Batch 150/469 | Cost: 16367.4902\n",
      "Epoch: 009/050 | Batch 200/469 | Cost: 16425.5449\n",
      "Epoch: 009/050 | Batch 250/469 | Cost: 16841.6738\n",
      "Epoch: 009/050 | Batch 300/469 | Cost: 16003.4609\n",
      "Epoch: 009/050 | Batch 350/469 | Cost: 15953.0732\n",
      "Epoch: 009/050 | Batch 400/469 | Cost: 15981.5557\n",
      "Epoch: 009/050 | Batch 450/469 | Cost: 15866.3105\n",
      "Time elapsed: 1.28 min\n",
      "Epoch: 010/050 | Batch 000/469 | Cost: 16785.4121\n",
      "Epoch: 010/050 | Batch 050/469 | Cost: 16397.5430\n",
      "Epoch: 010/050 | Batch 100/469 | Cost: 16289.5566\n",
      "Epoch: 010/050 | Batch 150/469 | Cost: 16549.7812\n",
      "Epoch: 010/050 | Batch 200/469 | Cost: 16190.5586\n",
      "Epoch: 010/050 | Batch 250/469 | Cost: 15208.5176\n",
      "Epoch: 010/050 | Batch 300/469 | Cost: 15649.6221\n",
      "Epoch: 010/050 | Batch 350/469 | Cost: 15850.7285\n",
      "Epoch: 010/050 | Batch 400/469 | Cost: 15607.8145\n",
      "Epoch: 010/050 | Batch 450/469 | Cost: 16352.9707\n",
      "Time elapsed: 1.42 min\n",
      "Epoch: 011/050 | Batch 000/469 | Cost: 14833.6748\n",
      "Epoch: 011/050 | Batch 050/469 | Cost: 14793.8174\n",
      "Epoch: 011/050 | Batch 100/469 | Cost: 16031.2539\n",
      "Epoch: 011/050 | Batch 150/469 | Cost: 16403.2148\n",
      "Epoch: 011/050 | Batch 200/469 | Cost: 16180.4619\n",
      "Epoch: 011/050 | Batch 250/469 | Cost: 15964.9424\n",
      "Epoch: 011/050 | Batch 300/469 | Cost: 16027.1377\n",
      "Epoch: 011/050 | Batch 350/469 | Cost: 16350.3730\n",
      "Epoch: 011/050 | Batch 400/469 | Cost: 15546.7812\n",
      "Epoch: 011/050 | Batch 450/469 | Cost: 15494.3408\n",
      "Time elapsed: 1.56 min\n",
      "Epoch: 012/050 | Batch 000/469 | Cost: 15366.8662\n",
      "Epoch: 012/050 | Batch 050/469 | Cost: 15567.0410\n",
      "Epoch: 012/050 | Batch 100/469 | Cost: 15825.4131\n",
      "Epoch: 012/050 | Batch 150/469 | Cost: 15356.7363\n",
      "Epoch: 012/050 | Batch 200/469 | Cost: 16218.4111\n",
      "Epoch: 012/050 | Batch 250/469 | Cost: 15840.4629\n",
      "Epoch: 012/050 | Batch 300/469 | Cost: 15789.5957\n",
      "Epoch: 012/050 | Batch 350/469 | Cost: 16290.2920\n",
      "Epoch: 012/050 | Batch 400/469 | Cost: 16000.1152\n",
      "Epoch: 012/050 | Batch 450/469 | Cost: 15458.4883\n",
      "Time elapsed: 1.71 min\n",
      "Epoch: 013/050 | Batch 000/469 | Cost: 14845.1387\n",
      "Epoch: 013/050 | Batch 050/469 | Cost: 14813.1328\n",
      "Epoch: 013/050 | Batch 100/469 | Cost: 15130.9199\n",
      "Epoch: 013/050 | Batch 150/469 | Cost: 15422.9141\n",
      "Epoch: 013/050 | Batch 200/469 | Cost: 15566.4805\n",
      "Epoch: 013/050 | Batch 250/469 | Cost: 15794.4580\n",
      "Epoch: 013/050 | Batch 300/469 | Cost: 15083.1582\n",
      "Epoch: 013/050 | Batch 350/469 | Cost: 15447.7637\n",
      "Epoch: 013/050 | Batch 400/469 | Cost: 15675.3779\n",
      "Epoch: 013/050 | Batch 450/469 | Cost: 15165.6543\n",
      "Time elapsed: 1.85 min\n",
      "Epoch: 014/050 | Batch 000/469 | Cost: 15194.8164\n",
      "Epoch: 014/050 | Batch 050/469 | Cost: 15119.1504\n",
      "Epoch: 014/050 | Batch 100/469 | Cost: 15796.2129\n",
      "Epoch: 014/050 | Batch 150/469 | Cost: 14884.1680\n",
      "Epoch: 014/050 | Batch 200/469 | Cost: 15225.4922\n",
      "Epoch: 014/050 | Batch 250/469 | Cost: 15586.4531\n",
      "Epoch: 014/050 | Batch 300/469 | Cost: 14798.0352\n",
      "Epoch: 014/050 | Batch 350/469 | Cost: 15295.6680\n",
      "Epoch: 014/050 | Batch 400/469 | Cost: 15782.0469\n",
      "Epoch: 014/050 | Batch 450/469 | Cost: 15226.4424\n",
      "Time elapsed: 1.99 min\n",
      "Epoch: 015/050 | Batch 000/469 | Cost: 15213.7441\n",
      "Epoch: 015/050 | Batch 050/469 | Cost: 15049.6631\n",
      "Epoch: 015/050 | Batch 100/469 | Cost: 15464.3105\n",
      "Epoch: 015/050 | Batch 150/469 | Cost: 15114.6406\n",
      "Epoch: 015/050 | Batch 200/469 | Cost: 15309.3145\n",
      "Epoch: 015/050 | Batch 250/469 | Cost: 14940.2734\n",
      "Epoch: 015/050 | Batch 300/469 | Cost: 15016.6035\n",
      "Epoch: 015/050 | Batch 350/469 | Cost: 15046.3008\n",
      "Epoch: 015/050 | Batch 400/469 | Cost: 15167.2373\n",
      "Epoch: 015/050 | Batch 450/469 | Cost: 14859.8359\n",
      "Time elapsed: 2.13 min\n",
      "Epoch: 016/050 | Batch 000/469 | Cost: 15028.2578\n",
      "Epoch: 016/050 | Batch 050/469 | Cost: 14834.3887\n",
      "Epoch: 016/050 | Batch 100/469 | Cost: 15176.1133\n",
      "Epoch: 016/050 | Batch 150/469 | Cost: 15468.7812\n",
      "Epoch: 016/050 | Batch 200/469 | Cost: 15083.7363\n",
      "Epoch: 016/050 | Batch 250/469 | Cost: 14691.1562\n",
      "Epoch: 016/050 | Batch 300/469 | Cost: 15369.2461\n",
      "Epoch: 016/050 | Batch 350/469 | Cost: 14979.9854\n",
      "Epoch: 016/050 | Batch 400/469 | Cost: 14710.5820\n",
      "Epoch: 016/050 | Batch 450/469 | Cost: 15753.2812\n",
      "Time elapsed: 2.27 min\n",
      "Epoch: 017/050 | Batch 000/469 | Cost: 15676.1680\n",
      "Epoch: 017/050 | Batch 050/469 | Cost: 15123.8203\n",
      "Epoch: 017/050 | Batch 100/469 | Cost: 15131.5918\n",
      "Epoch: 017/050 | Batch 150/469 | Cost: 14856.3496\n",
      "Epoch: 017/050 | Batch 200/469 | Cost: 15176.2002\n",
      "Epoch: 017/050 | Batch 250/469 | Cost: 14768.6816\n",
      "Epoch: 017/050 | Batch 300/469 | Cost: 14871.7480\n",
      "Epoch: 017/050 | Batch 350/469 | Cost: 14418.3633\n",
      "Epoch: 017/050 | Batch 400/469 | Cost: 15398.9326\n",
      "Epoch: 017/050 | Batch 450/469 | Cost: 14675.2832\n",
      "Time elapsed: 2.40 min\n",
      "Epoch: 018/050 | Batch 000/469 | Cost: 15558.1592\n",
      "Epoch: 018/050 | Batch 050/469 | Cost: 14836.9766\n",
      "Epoch: 018/050 | Batch 100/469 | Cost: 14535.8203\n",
      "Epoch: 018/050 | Batch 150/469 | Cost: 15062.1992\n",
      "Epoch: 018/050 | Batch 200/469 | Cost: 15094.6914\n",
      "Epoch: 018/050 | Batch 250/469 | Cost: 15006.5684\n",
      "Epoch: 018/050 | Batch 300/469 | Cost: 14656.5703\n",
      "Epoch: 018/050 | Batch 350/469 | Cost: 15232.4990\n",
      "Epoch: 018/050 | Batch 400/469 | Cost: 15159.4854\n",
      "Epoch: 018/050 | Batch 450/469 | Cost: 15619.9785\n",
      "Time elapsed: 2.53 min\n",
      "Epoch: 019/050 | Batch 000/469 | Cost: 14647.2051\n",
      "Epoch: 019/050 | Batch 050/469 | Cost: 15262.9062\n",
      "Epoch: 019/050 | Batch 100/469 | Cost: 15305.6738\n",
      "Epoch: 019/050 | Batch 150/469 | Cost: 14550.4102\n",
      "Epoch: 019/050 | Batch 200/469 | Cost: 15431.4395\n",
      "Epoch: 019/050 | Batch 250/469 | Cost: 15205.6074\n",
      "Epoch: 019/050 | Batch 300/469 | Cost: 15149.4453\n",
      "Epoch: 019/050 | Batch 350/469 | Cost: 14836.1543\n",
      "Epoch: 019/050 | Batch 400/469 | Cost: 14699.8994\n",
      "Epoch: 019/050 | Batch 450/469 | Cost: 15564.8604\n",
      "Time elapsed: 2.67 min\n",
      "Epoch: 020/050 | Batch 000/469 | Cost: 15190.4043\n",
      "Epoch: 020/050 | Batch 050/469 | Cost: 15331.2246\n",
      "Epoch: 020/050 | Batch 100/469 | Cost: 14559.0176\n",
      "Epoch: 020/050 | Batch 150/469 | Cost: 14311.1699\n",
      "Epoch: 020/050 | Batch 200/469 | Cost: 14561.7070\n",
      "Epoch: 020/050 | Batch 250/469 | Cost: 15366.1982\n",
      "Epoch: 020/050 | Batch 300/469 | Cost: 14740.9365\n",
      "Epoch: 020/050 | Batch 350/469 | Cost: 14924.1406\n",
      "Epoch: 020/050 | Batch 400/469 | Cost: 14399.0762\n",
      "Epoch: 020/050 | Batch 450/469 | Cost: 15144.8867\n",
      "Time elapsed: 2.81 min\n",
      "Epoch: 021/050 | Batch 000/469 | Cost: 14497.8389\n",
      "Epoch: 021/050 | Batch 050/469 | Cost: 14999.7617\n",
      "Epoch: 021/050 | Batch 100/469 | Cost: 14503.3086\n",
      "Epoch: 021/050 | Batch 150/469 | Cost: 15366.3564\n",
      "Epoch: 021/050 | Batch 200/469 | Cost: 15190.8740\n",
      "Epoch: 021/050 | Batch 250/469 | Cost: 14832.3369\n",
      "Epoch: 021/050 | Batch 300/469 | Cost: 15091.1016\n",
      "Epoch: 021/050 | Batch 350/469 | Cost: 14928.2930\n",
      "Epoch: 021/050 | Batch 400/469 | Cost: 14790.8223\n",
      "Epoch: 021/050 | Batch 450/469 | Cost: 14803.0596\n",
      "Time elapsed: 2.95 min\n",
      "Epoch: 022/050 | Batch 000/469 | Cost: 14677.4326\n",
      "Epoch: 022/050 | Batch 050/469 | Cost: 14652.6543\n",
      "Epoch: 022/050 | Batch 100/469 | Cost: 15094.6904\n",
      "Epoch: 022/050 | Batch 150/469 | Cost: 14702.5977\n",
      "Epoch: 022/050 | Batch 200/469 | Cost: 15014.6758\n",
      "Epoch: 022/050 | Batch 250/469 | Cost: 14506.5420\n",
      "Epoch: 022/050 | Batch 300/469 | Cost: 14207.6309\n",
      "Epoch: 022/050 | Batch 350/469 | Cost: 14883.4453\n",
      "Epoch: 022/050 | Batch 400/469 | Cost: 14935.6797\n",
      "Epoch: 022/050 | Batch 450/469 | Cost: 14522.0771\n",
      "Time elapsed: 3.09 min\n",
      "Epoch: 023/050 | Batch 000/469 | Cost: 14545.0410\n",
      "Epoch: 023/050 | Batch 050/469 | Cost: 15465.3301\n",
      "Epoch: 023/050 | Batch 100/469 | Cost: 14911.1807\n",
      "Epoch: 023/050 | Batch 150/469 | Cost: 14108.9902\n",
      "Epoch: 023/050 | Batch 200/469 | Cost: 14171.8672\n",
      "Epoch: 023/050 | Batch 250/469 | Cost: 14510.0352\n",
      "Epoch: 023/050 | Batch 300/469 | Cost: 14746.7100\n",
      "Epoch: 023/050 | Batch 350/469 | Cost: 15409.6055\n",
      "Epoch: 023/050 | Batch 400/469 | Cost: 14423.5654\n",
      "Epoch: 023/050 | Batch 450/469 | Cost: 15278.3594\n",
      "Time elapsed: 3.23 min\n",
      "Epoch: 024/050 | Batch 000/469 | Cost: 14552.7031\n",
      "Epoch: 024/050 | Batch 050/469 | Cost: 14798.7969\n",
      "Epoch: 024/050 | Batch 100/469 | Cost: 14998.7012\n",
      "Epoch: 024/050 | Batch 150/469 | Cost: 14323.0811\n",
      "Epoch: 024/050 | Batch 200/469 | Cost: 13328.8086\n",
      "Epoch: 024/050 | Batch 250/469 | Cost: 15235.0488\n",
      "Epoch: 024/050 | Batch 300/469 | Cost: 14539.9482\n",
      "Epoch: 024/050 | Batch 350/469 | Cost: 13984.4404\n",
      "Epoch: 024/050 | Batch 400/469 | Cost: 14394.9082\n",
      "Epoch: 024/050 | Batch 450/469 | Cost: 14836.1758\n",
      "Time elapsed: 3.37 min\n",
      "Epoch: 025/050 | Batch 000/469 | Cost: 14210.6611\n",
      "Epoch: 025/050 | Batch 050/469 | Cost: 14331.7012\n",
      "Epoch: 025/050 | Batch 100/469 | Cost: 14440.1592\n",
      "Epoch: 025/050 | Batch 150/469 | Cost: 14585.4521\n",
      "Epoch: 025/050 | Batch 200/469 | Cost: 14941.8232\n",
      "Epoch: 025/050 | Batch 250/469 | Cost: 14408.6523\n",
      "Epoch: 025/050 | Batch 300/469 | Cost: 13879.6191\n",
      "Epoch: 025/050 | Batch 350/469 | Cost: 14163.3799\n",
      "Epoch: 025/050 | Batch 400/469 | Cost: 15489.8164\n",
      "Epoch: 025/050 | Batch 450/469 | Cost: 14584.5352\n",
      "Time elapsed: 3.51 min\n",
      "Epoch: 026/050 | Batch 000/469 | Cost: 14449.3213\n",
      "Epoch: 026/050 | Batch 050/469 | Cost: 14182.0420\n",
      "Epoch: 026/050 | Batch 100/469 | Cost: 14822.8936\n",
      "Epoch: 026/050 | Batch 150/469 | Cost: 15550.9629\n",
      "Epoch: 026/050 | Batch 200/469 | Cost: 14777.4414\n",
      "Epoch: 026/050 | Batch 250/469 | Cost: 14844.9375\n",
      "Epoch: 026/050 | Batch 300/469 | Cost: 14236.6016\n",
      "Epoch: 026/050 | Batch 350/469 | Cost: 14573.4326\n",
      "Epoch: 026/050 | Batch 400/469 | Cost: 14540.6592\n",
      "Epoch: 026/050 | Batch 450/469 | Cost: 15272.1367\n",
      "Time elapsed: 3.65 min\n",
      "Epoch: 027/050 | Batch 000/469 | Cost: 14737.4766\n",
      "Epoch: 027/050 | Batch 050/469 | Cost: 14636.1719\n",
      "Epoch: 027/050 | Batch 100/469 | Cost: 14763.8066\n",
      "Epoch: 027/050 | Batch 150/469 | Cost: 14228.8965\n",
      "Epoch: 027/050 | Batch 200/469 | Cost: 14508.6289\n",
      "Epoch: 027/050 | Batch 250/469 | Cost: 14433.5488\n",
      "Epoch: 027/050 | Batch 300/469 | Cost: 14199.0078\n",
      "Epoch: 027/050 | Batch 350/469 | Cost: 14910.3555\n",
      "Epoch: 027/050 | Batch 400/469 | Cost: 14825.3359\n",
      "Epoch: 027/050 | Batch 450/469 | Cost: 14556.9355\n",
      "Time elapsed: 3.79 min\n",
      "Epoch: 028/050 | Batch 000/469 | Cost: 14801.7754\n",
      "Epoch: 028/050 | Batch 050/469 | Cost: 14283.8076\n",
      "Epoch: 028/050 | Batch 100/469 | Cost: 14157.8916\n",
      "Epoch: 028/050 | Batch 150/469 | Cost: 14591.0586\n",
      "Epoch: 028/050 | Batch 200/469 | Cost: 14707.6934\n",
      "Epoch: 028/050 | Batch 250/469 | Cost: 14730.5000\n",
      "Epoch: 028/050 | Batch 300/469 | Cost: 14761.3613\n",
      "Epoch: 028/050 | Batch 350/469 | Cost: 15279.7812\n",
      "Epoch: 028/050 | Batch 400/469 | Cost: 14528.2744\n",
      "Epoch: 028/050 | Batch 450/469 | Cost: 14167.2188\n",
      "Time elapsed: 3.93 min\n",
      "Epoch: 029/050 | Batch 000/469 | Cost: 14382.7207\n",
      "Epoch: 029/050 | Batch 050/469 | Cost: 15143.0254\n",
      "Epoch: 029/050 | Batch 100/469 | Cost: 14207.4375\n",
      "Epoch: 029/050 | Batch 150/469 | Cost: 15312.8730\n",
      "Epoch: 029/050 | Batch 200/469 | Cost: 14714.6807\n",
      "Epoch: 029/050 | Batch 250/469 | Cost: 14761.9023\n",
      "Epoch: 029/050 | Batch 300/469 | Cost: 13909.5557\n",
      "Epoch: 029/050 | Batch 350/469 | Cost: 15295.2285\n",
      "Epoch: 029/050 | Batch 400/469 | Cost: 14590.0059\n",
      "Epoch: 029/050 | Batch 450/469 | Cost: 13771.6270\n",
      "Time elapsed: 4.07 min\n",
      "Epoch: 030/050 | Batch 000/469 | Cost: 14302.2412\n",
      "Epoch: 030/050 | Batch 050/469 | Cost: 14636.1582\n",
      "Epoch: 030/050 | Batch 100/469 | Cost: 14535.5391\n",
      "Epoch: 030/050 | Batch 150/469 | Cost: 14794.7129\n",
      "Epoch: 030/050 | Batch 200/469 | Cost: 14745.2432\n",
      "Epoch: 030/050 | Batch 250/469 | Cost: 14465.8652\n",
      "Epoch: 030/050 | Batch 300/469 | Cost: 14903.6123\n",
      "Epoch: 030/050 | Batch 350/469 | Cost: 14062.1025\n",
      "Epoch: 030/050 | Batch 400/469 | Cost: 14659.8281\n",
      "Epoch: 030/050 | Batch 450/469 | Cost: 14638.7471\n",
      "Time elapsed: 4.21 min\n",
      "Epoch: 031/050 | Batch 000/469 | Cost: 13900.5020\n",
      "Epoch: 031/050 | Batch 050/469 | Cost: 14276.7793\n",
      "Epoch: 031/050 | Batch 100/469 | Cost: 14385.0371\n",
      "Epoch: 031/050 | Batch 150/469 | Cost: 15063.9482\n",
      "Epoch: 031/050 | Batch 200/469 | Cost: 14061.3789\n",
      "Epoch: 031/050 | Batch 250/469 | Cost: 14794.1172\n",
      "Epoch: 031/050 | Batch 300/469 | Cost: 14461.4004\n",
      "Epoch: 031/050 | Batch 350/469 | Cost: 14760.6582\n",
      "Epoch: 031/050 | Batch 400/469 | Cost: 14211.6348\n",
      "Epoch: 031/050 | Batch 450/469 | Cost: 15117.2490\n",
      "Time elapsed: 4.36 min\n",
      "Epoch: 032/050 | Batch 000/469 | Cost: 14433.7568\n",
      "Epoch: 032/050 | Batch 050/469 | Cost: 14379.6641\n",
      "Epoch: 032/050 | Batch 100/469 | Cost: 14304.6387\n",
      "Epoch: 032/050 | Batch 150/469 | Cost: 13829.6826\n",
      "Epoch: 032/050 | Batch 200/469 | Cost: 14619.5654\n",
      "Epoch: 032/050 | Batch 250/469 | Cost: 14488.1992\n",
      "Epoch: 032/050 | Batch 300/469 | Cost: 14025.6309\n",
      "Epoch: 032/050 | Batch 350/469 | Cost: 14557.8555\n",
      "Epoch: 032/050 | Batch 400/469 | Cost: 14625.9219\n",
      "Epoch: 032/050 | Batch 450/469 | Cost: 14467.3330\n",
      "Time elapsed: 4.50 min\n",
      "Epoch: 033/050 | Batch 000/469 | Cost: 13708.5605\n",
      "Epoch: 033/050 | Batch 050/469 | Cost: 14030.7461\n",
      "Epoch: 033/050 | Batch 100/469 | Cost: 15058.2783\n",
      "Epoch: 033/050 | Batch 150/469 | Cost: 14089.2373\n",
      "Epoch: 033/050 | Batch 200/469 | Cost: 14830.2188\n",
      "Epoch: 033/050 | Batch 250/469 | Cost: 14473.9287\n",
      "Epoch: 033/050 | Batch 300/469 | Cost: 14349.3984\n",
      "Epoch: 033/050 | Batch 350/469 | Cost: 14528.9199\n",
      "Epoch: 033/050 | Batch 400/469 | Cost: 14033.7891\n",
      "Epoch: 033/050 | Batch 450/469 | Cost: 14026.8301\n",
      "Time elapsed: 4.64 min\n",
      "Epoch: 034/050 | Batch 000/469 | Cost: 15065.5000\n",
      "Epoch: 034/050 | Batch 050/469 | Cost: 14807.9961\n",
      "Epoch: 034/050 | Batch 100/469 | Cost: 14439.8008\n",
      "Epoch: 034/050 | Batch 150/469 | Cost: 14711.3418\n",
      "Epoch: 034/050 | Batch 200/469 | Cost: 14689.3828\n",
      "Epoch: 034/050 | Batch 250/469 | Cost: 13956.6719\n",
      "Epoch: 034/050 | Batch 300/469 | Cost: 14398.5410\n",
      "Epoch: 034/050 | Batch 350/469 | Cost: 14900.2051\n",
      "Epoch: 034/050 | Batch 400/469 | Cost: 14035.2871\n",
      "Epoch: 034/050 | Batch 450/469 | Cost: 14370.9922\n",
      "Time elapsed: 4.78 min\n",
      "Epoch: 035/050 | Batch 000/469 | Cost: 14394.5488\n",
      "Epoch: 035/050 | Batch 050/469 | Cost: 14367.2725\n",
      "Epoch: 035/050 | Batch 100/469 | Cost: 14434.9248\n",
      "Epoch: 035/050 | Batch 150/469 | Cost: 14409.7148\n",
      "Epoch: 035/050 | Batch 200/469 | Cost: 14353.3174\n",
      "Epoch: 035/050 | Batch 250/469 | Cost: 14548.2354\n",
      "Epoch: 035/050 | Batch 300/469 | Cost: 14818.1543\n",
      "Epoch: 035/050 | Batch 350/469 | Cost: 13898.6777\n",
      "Epoch: 035/050 | Batch 400/469 | Cost: 14176.9395\n",
      "Epoch: 035/050 | Batch 450/469 | Cost: 13999.2061\n",
      "Time elapsed: 4.91 min\n",
      "Epoch: 036/050 | Batch 000/469 | Cost: 14288.9336\n",
      "Epoch: 036/050 | Batch 050/469 | Cost: 14487.9365\n",
      "Epoch: 036/050 | Batch 100/469 | Cost: 14154.0234\n",
      "Epoch: 036/050 | Batch 150/469 | Cost: 14574.0762\n",
      "Epoch: 036/050 | Batch 200/469 | Cost: 14200.3008\n",
      "Epoch: 036/050 | Batch 250/469 | Cost: 14022.4297\n",
      "Epoch: 036/050 | Batch 300/469 | Cost: 14053.5713\n",
      "Epoch: 036/050 | Batch 350/469 | Cost: 14348.0186\n",
      "Epoch: 036/050 | Batch 400/469 | Cost: 14567.2314\n",
      "Epoch: 036/050 | Batch 450/469 | Cost: 14527.6348\n",
      "Time elapsed: 5.05 min\n",
      "Epoch: 037/050 | Batch 000/469 | Cost: 14948.3877\n",
      "Epoch: 037/050 | Batch 050/469 | Cost: 14357.0439\n",
      "Epoch: 037/050 | Batch 100/469 | Cost: 13578.9121\n",
      "Epoch: 037/050 | Batch 150/469 | Cost: 14657.7266\n",
      "Epoch: 037/050 | Batch 200/469 | Cost: 14293.0732\n",
      "Epoch: 037/050 | Batch 250/469 | Cost: 13609.5859\n",
      "Epoch: 037/050 | Batch 300/469 | Cost: 13738.5283\n",
      "Epoch: 037/050 | Batch 350/469 | Cost: 14079.2803\n",
      "Epoch: 037/050 | Batch 400/469 | Cost: 14029.6797\n",
      "Epoch: 037/050 | Batch 450/469 | Cost: 14522.6406\n",
      "Time elapsed: 5.18 min\n",
      "Epoch: 038/050 | Batch 000/469 | Cost: 14005.6035\n",
      "Epoch: 038/050 | Batch 050/469 | Cost: 13756.8330\n",
      "Epoch: 038/050 | Batch 100/469 | Cost: 15247.8760\n",
      "Epoch: 038/050 | Batch 150/469 | Cost: 14034.3789\n",
      "Epoch: 038/050 | Batch 200/469 | Cost: 14204.7061\n",
      "Epoch: 038/050 | Batch 250/469 | Cost: 14023.4863\n",
      "Epoch: 038/050 | Batch 300/469 | Cost: 13636.5508\n",
      "Epoch: 038/050 | Batch 350/469 | Cost: 14509.3711\n",
      "Epoch: 038/050 | Batch 400/469 | Cost: 14496.3965\n",
      "Epoch: 038/050 | Batch 450/469 | Cost: 14460.8896\n",
      "Time elapsed: 5.32 min\n",
      "Epoch: 039/050 | Batch 000/469 | Cost: 14317.6602\n",
      "Epoch: 039/050 | Batch 050/469 | Cost: 14440.6855\n",
      "Epoch: 039/050 | Batch 100/469 | Cost: 13772.3691\n",
      "Epoch: 039/050 | Batch 150/469 | Cost: 14023.2480\n",
      "Epoch: 039/050 | Batch 200/469 | Cost: 14576.5449\n",
      "Epoch: 039/050 | Batch 250/469 | Cost: 14164.7266\n",
      "Epoch: 039/050 | Batch 300/469 | Cost: 13657.8369\n",
      "Epoch: 039/050 | Batch 350/469 | Cost: 14456.4014\n",
      "Epoch: 039/050 | Batch 400/469 | Cost: 14202.3047\n",
      "Epoch: 039/050 | Batch 450/469 | Cost: 14564.9531\n",
      "Time elapsed: 5.45 min\n",
      "Epoch: 040/050 | Batch 000/469 | Cost: 14392.9277\n",
      "Epoch: 040/050 | Batch 050/469 | Cost: 13708.4375\n",
      "Epoch: 040/050 | Batch 100/469 | Cost: 14689.3535\n",
      "Epoch: 040/050 | Batch 150/469 | Cost: 13887.5840\n",
      "Epoch: 040/050 | Batch 200/469 | Cost: 14047.1543\n",
      "Epoch: 040/050 | Batch 250/469 | Cost: 14142.5859\n",
      "Epoch: 040/050 | Batch 300/469 | Cost: 14016.5820\n",
      "Epoch: 040/050 | Batch 350/469 | Cost: 14962.1387\n",
      "Epoch: 040/050 | Batch 400/469 | Cost: 14433.1416\n",
      "Epoch: 040/050 | Batch 450/469 | Cost: 14622.0762\n",
      "Time elapsed: 5.60 min\n",
      "Epoch: 041/050 | Batch 000/469 | Cost: 15024.6074\n",
      "Epoch: 041/050 | Batch 050/469 | Cost: 14015.1895\n",
      "Epoch: 041/050 | Batch 100/469 | Cost: 14236.3535\n",
      "Epoch: 041/050 | Batch 150/469 | Cost: 13553.2012\n",
      "Epoch: 041/050 | Batch 200/469 | Cost: 14393.0205\n",
      "Epoch: 041/050 | Batch 250/469 | Cost: 14220.9316\n",
      "Epoch: 041/050 | Batch 300/469 | Cost: 13906.4434\n",
      "Epoch: 041/050 | Batch 350/469 | Cost: 13650.9873\n",
      "Epoch: 041/050 | Batch 400/469 | Cost: 14031.2979\n",
      "Epoch: 041/050 | Batch 450/469 | Cost: 14202.7402\n",
      "Time elapsed: 5.74 min\n",
      "Epoch: 042/050 | Batch 000/469 | Cost: 13856.5684\n",
      "Epoch: 042/050 | Batch 050/469 | Cost: 14359.9023\n",
      "Epoch: 042/050 | Batch 100/469 | Cost: 14294.4902\n",
      "Epoch: 042/050 | Batch 150/469 | Cost: 14577.5811\n",
      "Epoch: 042/050 | Batch 200/469 | Cost: 14028.5820\n",
      "Epoch: 042/050 | Batch 250/469 | Cost: 13892.3926\n",
      "Epoch: 042/050 | Batch 300/469 | Cost: 13972.0322\n",
      "Epoch: 042/050 | Batch 350/469 | Cost: 14635.3506\n",
      "Epoch: 042/050 | Batch 400/469 | Cost: 13453.1562\n",
      "Epoch: 042/050 | Batch 450/469 | Cost: 14930.7197\n",
      "Time elapsed: 5.88 min\n",
      "Epoch: 043/050 | Batch 000/469 | Cost: 14080.6318\n",
      "Epoch: 043/050 | Batch 050/469 | Cost: 14356.2100\n",
      "Epoch: 043/050 | Batch 100/469 | Cost: 14747.7344\n",
      "Epoch: 043/050 | Batch 150/469 | Cost: 14025.0693\n",
      "Epoch: 043/050 | Batch 200/469 | Cost: 14294.0615\n",
      "Epoch: 043/050 | Batch 250/469 | Cost: 14147.0391\n",
      "Epoch: 043/050 | Batch 300/469 | Cost: 14254.3008\n",
      "Epoch: 043/050 | Batch 350/469 | Cost: 13503.6582\n",
      "Epoch: 043/050 | Batch 400/469 | Cost: 14689.1816\n",
      "Epoch: 043/050 | Batch 450/469 | Cost: 14308.2051\n",
      "Time elapsed: 6.02 min\n",
      "Epoch: 044/050 | Batch 000/469 | Cost: 13875.5928\n",
      "Epoch: 044/050 | Batch 050/469 | Cost: 14699.4229\n",
      "Epoch: 044/050 | Batch 100/469 | Cost: 14394.9424\n",
      "Epoch: 044/050 | Batch 150/469 | Cost: 14657.7197\n",
      "Epoch: 044/050 | Batch 200/469 | Cost: 14011.2949\n",
      "Epoch: 044/050 | Batch 250/469 | Cost: 13314.2246\n",
      "Epoch: 044/050 | Batch 300/469 | Cost: 14493.9434\n",
      "Epoch: 044/050 | Batch 350/469 | Cost: 13947.0000\n",
      "Epoch: 044/050 | Batch 400/469 | Cost: 14538.6055\n",
      "Epoch: 044/050 | Batch 450/469 | Cost: 13822.2129\n",
      "Time elapsed: 6.16 min\n",
      "Epoch: 045/050 | Batch 000/469 | Cost: 14430.2080\n",
      "Epoch: 045/050 | Batch 050/469 | Cost: 13560.6621\n",
      "Epoch: 045/050 | Batch 100/469 | Cost: 14101.0293\n",
      "Epoch: 045/050 | Batch 150/469 | Cost: 13972.5605\n",
      "Epoch: 045/050 | Batch 200/469 | Cost: 13934.4883\n",
      "Epoch: 045/050 | Batch 250/469 | Cost: 14146.7676\n",
      "Epoch: 045/050 | Batch 300/469 | Cost: 14229.7588\n",
      "Epoch: 045/050 | Batch 350/469 | Cost: 14473.1758\n",
      "Epoch: 045/050 | Batch 400/469 | Cost: 14182.4443\n",
      "Epoch: 045/050 | Batch 450/469 | Cost: 13847.8311\n",
      "Time elapsed: 6.30 min\n",
      "Epoch: 046/050 | Batch 000/469 | Cost: 13579.7725\n",
      "Epoch: 046/050 | Batch 050/469 | Cost: 14197.9629\n",
      "Epoch: 046/050 | Batch 100/469 | Cost: 14378.0156\n",
      "Epoch: 046/050 | Batch 150/469 | Cost: 13889.5391\n",
      "Epoch: 046/050 | Batch 200/469 | Cost: 14234.4473\n",
      "Epoch: 046/050 | Batch 250/469 | Cost: 14565.4922\n",
      "Epoch: 046/050 | Batch 300/469 | Cost: 14121.4434\n",
      "Epoch: 046/050 | Batch 350/469 | Cost: 13544.7070\n",
      "Epoch: 046/050 | Batch 400/469 | Cost: 13669.2461\n",
      "Epoch: 046/050 | Batch 450/469 | Cost: 14321.6992\n",
      "Time elapsed: 6.45 min\n",
      "Epoch: 047/050 | Batch 000/469 | Cost: 14563.6592\n",
      "Epoch: 047/050 | Batch 050/469 | Cost: 14157.8525\n",
      "Epoch: 047/050 | Batch 100/469 | Cost: 14169.9375\n",
      "Epoch: 047/050 | Batch 150/469 | Cost: 14047.9561\n",
      "Epoch: 047/050 | Batch 200/469 | Cost: 14237.7090\n",
      "Epoch: 047/050 | Batch 250/469 | Cost: 14265.3633\n",
      "Epoch: 047/050 | Batch 300/469 | Cost: 14120.1963\n",
      "Epoch: 047/050 | Batch 350/469 | Cost: 13613.9072\n",
      "Epoch: 047/050 | Batch 400/469 | Cost: 13844.0146\n",
      "Epoch: 047/050 | Batch 450/469 | Cost: 13815.9531\n",
      "Time elapsed: 6.59 min\n",
      "Epoch: 048/050 | Batch 000/469 | Cost: 14768.5332\n",
      "Epoch: 048/050 | Batch 050/469 | Cost: 13807.6055\n",
      "Epoch: 048/050 | Batch 100/469 | Cost: 14027.3555\n",
      "Epoch: 048/050 | Batch 150/469 | Cost: 14198.5234\n",
      "Epoch: 048/050 | Batch 200/469 | Cost: 14043.7871\n",
      "Epoch: 048/050 | Batch 250/469 | Cost: 14150.2158\n",
      "Epoch: 048/050 | Batch 300/469 | Cost: 14136.1113\n",
      "Epoch: 048/050 | Batch 350/469 | Cost: 13921.3516\n",
      "Epoch: 048/050 | Batch 400/469 | Cost: 14452.8145\n",
      "Epoch: 048/050 | Batch 450/469 | Cost: 13998.9541\n",
      "Time elapsed: 6.73 min\n",
      "Epoch: 049/050 | Batch 000/469 | Cost: 14730.7822\n",
      "Epoch: 049/050 | Batch 050/469 | Cost: 14744.3809\n",
      "Epoch: 049/050 | Batch 100/469 | Cost: 14377.9961\n",
      "Epoch: 049/050 | Batch 150/469 | Cost: 13894.9863\n",
      "Epoch: 049/050 | Batch 200/469 | Cost: 14319.2900\n",
      "Epoch: 049/050 | Batch 250/469 | Cost: 14335.9785\n",
      "Epoch: 049/050 | Batch 300/469 | Cost: 14045.4326\n",
      "Epoch: 049/050 | Batch 350/469 | Cost: 14342.3359\n",
      "Epoch: 049/050 | Batch 400/469 | Cost: 13990.9199\n",
      "Epoch: 049/050 | Batch 450/469 | Cost: 13979.7559\n",
      "Time elapsed: 6.87 min\n",
      "Epoch: 050/050 | Batch 000/469 | Cost: 13741.7539\n",
      "Epoch: 050/050 | Batch 050/469 | Cost: 14258.0557\n",
      "Epoch: 050/050 | Batch 100/469 | Cost: 14187.6738\n",
      "Epoch: 050/050 | Batch 150/469 | Cost: 14332.6895\n",
      "Epoch: 050/050 | Batch 200/469 | Cost: 14304.8984\n",
      "Epoch: 050/050 | Batch 250/469 | Cost: 13983.0000\n",
      "Epoch: 050/050 | Batch 300/469 | Cost: 14277.3750\n",
      "Epoch: 050/050 | Batch 350/469 | Cost: 13838.4023\n",
      "Epoch: 050/050 | Batch 400/469 | Cost: 13978.5732\n",
      "Epoch: 050/050 | Batch 450/469 | Cost: 13924.4717\n",
      "Time elapsed: 7.01 min\n",
      "Total Training Time: 7.01 min\n"
     ]
    }
   ],
   "source": [
    "start_time = time.time()\n",
    "\n",
    "for epoch in range(num_epochs):\n",
    "    for batch_idx, (features, targets) in enumerate(train_loader):\n",
    "        \n",
    "        # don't need labels, only the images (features)\n",
    "        features = features.to(device)\n",
    "\n",
    "        ### FORWARD AND BACK PROP\n",
    "        z_mean, z_log_var, encoded, decoded = model(features)\n",
    "\n",
    "        # cost = reconstruction loss + Kullback-Leibler divergence\n",
    "        kl_divergence = (0.5 * (z_mean**2 + \n",
    "                                torch.exp(z_log_var) - z_log_var - 1)).sum()\n",
    "        pixelwise_bce = F.binary_cross_entropy(decoded, features, reduction='sum')\n",
    "        cost = kl_divergence + pixelwise_bce\n",
    "        \n",
    "        optimizer.zero_grad()\n",
    "        cost.backward()\n",
    "        \n",
    "        ### UPDATE MODEL PARAMETERS\n",
    "        optimizer.step()\n",
    "        \n",
    "        ### LOGGING\n",
    "        if not batch_idx % 50:\n",
    "            print ('Epoch: %03d/%03d | Batch %03d/%03d | Cost: %.4f' \n",
    "                   %(epoch+1, num_epochs, batch_idx, \n",
    "                     len(train_loader), cost))\n",
    "            \n",
    "    print('Time elapsed: %.2f min' % ((time.time() - start_time)/60))\n",
    "    \n",
    "print('Total Training Time: %.2f min' % ((time.time() - start_time)/60))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Evaluation"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Reconstruction"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABIAAAACqCAYAAADV0DQZAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzsnXe4G8X5hd8NAQKB0EM1MQEDAdMNmN7BVNNiegcDofdOqMaU0EMx1QYSaui9m44NBAi92UAoCQQCJOQXIPv7wz47I13d69W9qnvP+zx+pCutpNHnmdnRfmfOl6RpijHGGGOMMcYYY4wpLj9qdgOMMcYYY4wxxhhjTH3xBSBjjDHGGGOMMcaYguMLQMYYY4wxxhhjjDEFxxeAjDHGGGOMMcYYYwqOLwAZY4wxxhhjjDHGFBxfADLGGGOMMcYYY4wpOL4AZIwxxhhjjDHGGFNwenQBKEmSQUmSvJEkydtJkhxeq0YZY4wxxhhjjDHGmNqRpGnavRcmyWTAm8BawIfAGGCrNE1frV3zjDHGGGOMMcYYY0xP+XEPXrsM8Haapu8CJElyLTAY6PQC0Mwzz5z27du3Bx/Znjz33HOfpWk6SzWvcazy41hVR2+M17hx4/jss8+Sal/XG2MFHofV4Fjlx7HKj+f3/Hh+rw6Pw/w4VvnxnJUfz1nV4XGYn7yx6skFoDmBD6K/PwSWLT8oSZKhwFCAueeem7Fjx/bgI9uTJEnG5zzOsXKscpM3VhOP7dXxGjBgQO5je3uswOOwGhyr/DhW+fH8nh/P79XhcZgfxyo/nrPy4zmrOjwO85M3VnU3gU7TdESapgPSNB0wyyxVXxjuVThW+XGsqsPxyo9jlR/HKj+OVX4cq+pwvPLjWOXHscqPY1Udjld+HKv8OFb56ckFoL8CfaK/55r4mDHGGGOMMcYYY4xpIXpyAWgM0C9JknmSJJkC2BK4rTbNMsYYY4wxxhhjjDG1otseQGmafp8kyd7AvcBkwOVpmr5Ss5YZY4wxxhhjjDHGmJrQExNo0jS9C7irRm0xxhhjjDHGGGOMMXWg7ibQxhhjjDHGGGOMMaa5+AKQMcYYY4wxxhhjTMHp0RawovHf//4XgNVXXx2AJ554AoD99tsvO+bss89ufMOMMb2OK6+8EoBTTz0VgDfeeKPTY1dYYQUgzFWbb755fRtnWpIDDzwQgDnmmCN7bIsttujyNddee212/+OPPwbgm2++AeDSSy8FYP755wfg6aefzo6dfvrpa9BiUyTUb5ZeemkAhg8fnj03ePDgprTJtC//+te/AHj99dcBuOSSSwB47bXXsmNGjx4NwK9+9SsATjrpJAA23XTThrWzUfzvf/8DYNy4cdljWieMHDkSgPfffz/3+x1wwAEAHH/88QBMO+20NWilMaYdsALIGGOMMcYYY4wxpuBYARTx0UcfAfDkk08CkCQJAD/88EPT2mRam++++w6Agw8+GIBzzz03e07ZlTPPPLPxDWsRFJ8XXngBgD/96U8lz59++unZfWW3yllggQUAOPbYY7PHNt54YwCmnnrq2jW2yfznP/8B4JNPPgFg5513BmCyySYrua2E1IqKszKnADvssEPtG9vGnHbaaUAYlw888ED2XP/+/ZvSplpx/fXXA0HJA3DYYYeVHJOmKRDOb5UoP+aLL74Agkq2t/D8888D8M477wBBZQDt31fqwU033QQExcZnn33WzOaYNkJKHoBbbrkFgHvuuQcI6tdKc5fu65hTTjkFKKYC6NlnnwVg+eWX7/SYrub1crSj4fHHHwfgsccey56bcsopu9PEliRWjKlfdNan9Hf82JFHHgnAbrvtBsAvfvGLOrfYmPpjBZAxxhhjjDHGGGNMwbECCHjkkUcA2GSTTUoen2aaaQDYd999G90k0yY888wzAJx33nlAafbln//8J5Av497O6Pu99NJLAPz+97/Pnvv0008BuP322yf5Pp3F58033wRg2223zR6TqkHZviJwxBFHAHD++edP8ti+ffsCsN122wHw5z//GQhxHj9+fB1a2N6Ue7v97Gc/A+Df//5309pUa4YMGQLAOeeckz3Wp08fAAYOHDjJ1995551AUJDNPPPMANxwww0A/PznP69dY5uMFHdxrN59910Abr31VgC++uorAP7v//4PCPEAePjhhwFYaKGF6t/YNuHRRx8t+ds+UaYcqYDvvfdeIKh9/va3v2XHaC0ghe+SSy4JwEorrQTAggsumB07dOjQOre4+cjfR/5G1RAreaaYYgoAvv7665Jjxo4dCwQlOwR1UFfK41ZHfS1WQevcVr7erLT+1GPDhg0Dgiee5v5YEVoUYpWvdjTccccdAKy88soA7LnnngDMPvvsDW5d+6C+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/F4dHof5cazy4zkrP56zqsPjMD95Y1V3E+g0TUekaTogTdMBs8xS9YXhXoVjlR/Hqjocr/w4VvlxrPLjWOXHsaoOxys/jlV+HKv8OFbV4Xjlx7HKj2OVn55cAPor0Cf6e66JjxljjDHGGGOMMcaYFqInF4DGAP2SJJknSZIpgC2B22rTrNYiTdMO/4wxxhhjjDHGGGPahW57AKVp+n2SJHsD9wKTAZenafpKzVpmjDHGGGOMMcYYY2pCT0ygSdP0LuCuGrXFGGOMMcYYY4wxxtSBHl0AKipffPEFAC+99BIA77//fvbcQgstBED//v0BmHLKKRvcOmNMbyTeevq///0PgMkmm6xZzTFtSvkW5h9++CG7//333wMwxRRTAPCjH9W9ToQpIOpjSVJ1lWNjJkk8h2nO0lyl297a98rn9/hvzfWTTz55Q9tkjGk9vLozxhhjjDHGGGOMKThWAEVce+21APzlL38B4Pe//z0AU001VXbMBRdcAMD8888PWAFkJvCf//wHKM2YK4tuuodULqK3qBH+9re/AXDhhRcCcPXVVwPwr3/9KztG93/+858DsO222wKwwgorALDIIotkx84666x1bnF7oOzna6+9BsA777wDwFxzzZUdM/vsswMw22yzAe3X55Ttff3117PHXn311ZLbF154AYDx48cD8O9//zs79uuvvwZggw02AGDVVVcFYOWVVwZgjjnmqFfTWxorWrpG8TnppJNK/pZiGmDzzTdvfMNM2xCf799++20AHn30UQA+//xzIPSreM564okngHDum2mmmQAYMmQIUMw569tvv83u63z23HPPAfDpp58C4bdKrAD68ssvAZh55pkB2GWXXQBYf/31AVhwwQWzY6eddtq6tL1V+O9//wvAM888A4Q11UcffZQd88tf/rLkdu65525kE42pK+21ujXGGGOMMcYYY4wxVWMFECETqivpp556KhCugO+xxx7ZsSuttBIAP/3pTxvZRNOivPnmmwBsscUWAPz617/Onttvv/2A3t1XpLqQr5aUUh9++CEA7777bnbsP/7xDwCuuuoqIGRktF997bXXzo5da621gKBMKILaSjG59NJLAfjd734HBI+DGKkSldFTtu/ee+8FYNCgQdmxhxxySMlrehvKll555ZUAPPzww0DweJtvvvmyYw899FAgZEjbpV999913ANx8880A3H777dlzd955JxDUPVKtalzFKtYf/3jCkuDWW28F4MknnwRC39loo42yY4uihtGcBPDZZ58BQYEw9dRTAyFbHCvrfvaznwHFiUNP0Dyk7LnG2K677tq0NpnWRmsDjbWHHnooe+66664DQn+afvrpgXAujOcsrcmFxqXm/VgB065jVd97zJgxJbcAl1xyCRDWouXK6djjTWitccoppwBh3h89enR2zAEHHAC0nwq2EpqfAJ5++mkAzj33XAAeeeQRIJxDY38k/Qbcc889Adh9992BoBQ2Ji/l3lwQxmqzfMvaf2QbY4wxxhhjjDHGmC7ptQqg559/Prv/xhtvAHDmmWcC4WrcwQcfDMBSSy2VHatMRLteFddV7v/7v//LHlMlIV2h1HNfffUVELKiELIJ8847LxDi0duqESm7JMXFn//8ZwBeeeWV7JhNN90UKN1XXUQUCykqpKSDoK4bNWoUEPbyS90T9xtlXtQP1Vd1lVzjFIJHyzLLLAO0j1KjnNjL4PLLLwdg2LBhQMjKLb300gCsvvrqHV4vX5fHHnsMgJdffhko3b8v1cbiiy9e07a3MnFc1S/ljXDXXXeVHCv1HgTlT7tVSdFY0biIvVeU8ZxnnnmA0B/eeustoFRhphiNGzeu5P00TuNssvpnuyHFz4svvggETyQI3//uu+8Ggk/UGmusAcBqq62WHStvLantfvKTn9Sz2S2N4ial5yeffAIEj7Lehs5hUt1BWDNq3Ohvja08ayi9b6WKkJ0dG39mKyhgNIc8/vjjQPD5kRoFgopn+eWXB8K5SzHSvATBj3OWWWYBgjpjuummA1rjO3cXxerBBx8EYIcddgDCeOuK8v4GIRbqG5r7TzjhBAD22muv7FgpsnVObEf++te/AmH9CTB8+HAgjE3FR0r9uL/oXPGHP/wBCF5A8lxs19+BlVBf++c//5k9Ji9BreMVD40xVcOG4LVVpJh0B6nrtO5UDCv95tbcPeOMMwJBcazfNQB9+/YF6vMbp3f/TxljjDHGGGOMMcb0AtozhdcDdHVTGU6Agw46CAhXLk888UQABgwYAIRKKPEx7YIqCml/9QcffACEDCeUKjZilAXXVUkIV4KVFVDWZquttgJ6jxJIleIOPPDAksfj7EE7Z546I84qKiulK93KIsVZT13hViyUbVGf+sUvfpEdK58R9VlloOS/UWkve3xVvR2Rzw/AaaedBoSs3IorrgjA1ltvDZQqycrjKh8F3cq7BeC9994DYOGFFwbaT91SDeqfUppBUOnJC0f9SX1v4403zo5VNrndxq7GjvpIXNlsiSWWAIJvhsagjpGKE8L3lp+Esk66bbfzX4zOc6r6oqywqudAqR8QhLF4yy23AEE1BGFcSpko1ZUUezPMMEN2bNGrhap/aF7SXB1nMnsD6j9SGercCB0ryUnlovEnxUp8rJAXzjfffAOUqn6kstL76f8irlikeWGaaabp5jerHeXKn7POOgsoXWfKc0Ux0Rpc2fDYV1Hns3abs/OgdbrW73//+987PVZzs+Yand8q+dVIsS71tsbrZZddlh2jNb36ZzspPjU+7rnnHgDOO++87DmNIfUbKVfk7/bxxx9nx0oB+v7775fcSmHcCuOpuyhG+o7qY/IRhFBhT/Oazocaa/H8fvrppwNhvdHOsclLvM7UWNVOIo0xEc9v6nsaU5q79X7xsRdffDEQPFBruZZo39WcMcYYY4wxxhhjjMmFLwAZY4wxxhhjjDHGFJz20fT1EElqZfi4yy67ZM9JMivp2sCBAwFYdtllgfaTvcfyYZkSS6aubTqxhFYytHLZsWR/MoOGIBtUWcWRI0cCYRtF0WV/MlvVFrA8xxYJbQ0B2HnnnYFg+KlxEm8pkbmZjI11jKSkMkiDEC+VsJZRtLbsxLJIyZvbtb9p61q8VUuPaWuOSpJL9q5bCONQEvl3330XCFs8460s+v8pokS+HPUrbS+IH9OY1dx3xRVXAGFrHLSXzD1G/7famhsbd2qLiIxDNWYkJa60bVVzvsbZAgssALTfuVBbZyCUlr7mmmuAsNU0RlvpNOfo+0qyrbEEcPbZZwNhvlPMN998c6BUqi3jbW03aFfT+s7QfKQtKopX0be+Cc0x2iKovqH5GMJ2G/WxeD6HrreL6dxYycxZfUmPDR06tEP7tLW1WcRG8zKfV4zUV/bdd9/sGBmq/+Y3vwE6fscio3UPhKIOV155Zckx8XlK92XHoDlLfUjGxRDip/ltp512AsJ6Id5Sr74bF8FpN2TIq7EHYfxpvtb2SBVJkHE0hHlNsbz22msBOOCAA+rZ7LpRycJBa1BtXYp/t6hv6Ryn/lNp/a7CSlqnt3O/mRSyudBaAuDII48EQl9TrLvaPq9xqLWZ4hqv3xXjlVZaCfAWMGOMMcYYY4wxxhhTBZNMdyZJcjmwAfC3NE37T3xsRuA6oC8wDhiSpukX9Wtmz9HVbJVRlIIFQsZ99913B4Lyp12zV3GWRAoBmTNXKumoK5Mq6bfhhhsCwTA7NhzUVWJ9hjI1yhy0qyIjL7rKLfPncmPiOLOrkrhFIjY2VXbunHPOAUIJ0VhdJiN1lUxWeXKZ6M0333zZsVL+SH2g2CoLMXjw4OxYGa0qm9Nu3HTTTQA88sgj2WMahxpjKvteSS2g7ILK4apcrgz8lFmAro0ji4ayp/H8ftVVVwEhZueeey4QMlRFUmNUyjJpjEgJpHEl48E4O6/s36KLLgqE8aoSy+2Czkc33nhj9phMGpXh1XlNcYBwPtP4KT8HxhlUxVp97rPPPgNCEYm4IILeTyXjpToriqJBcZOao0+fPkBHU+2iov4mxZkyxHHf0jlQ5zOVNtdrYhNoqdPUb6Sk3WOPPYBw/gDYYostgBB7nX917oUwjptFvE7SeNHYkll1vN7WWrxd1+A9IT53677mCakr4jXWscceC4Q5Rbc6Np6HNEe9+uqrQDj3qb/G85vMgdt5jpp33nmBUkN0KTSk/FlyySVLXhMr2DV/KS4y/m9XpXBcxECq8eHDhwOhr8VzRXkJcv1+lJpahtoAJ598MhDWV1INF+k3ocbEpZdeCsCpp56aPVe+g0Zo/FQqkKR5UecPrTPi/qUiLvrNFPfPnpJHAXQlMKjsscOBB9M07Qc8OPFvY4wxxhhjjDHGGNOCTPIyZpqmo5Mk6Vv28GBg1Yn3RwKPAIfVsF01Q6WkVaJOZfziK2xHHXUUABtssAFQrKzDYostBoRSkMsttxxQmvUtL4s855xzAqHk+8MPP5wde/jhE671XXTRRQD069cPCNmcmWaaqQ7fornECgqVlYz3acfEV7vbOXPSGbECaM011wTgV7/6FRD6lPZSQ8hCKS7KJKjUZpyRkAJIWSpl2OWbseuuu2bH6rF247HHHgPC+ImzfcoqqNxjV8oU9S1lAqXc0ONx36vk9VI01Pf++Mc/AnDaaadlz2l/tcp0q3Rpu6rH8hCrNqWGUhn02EsLwjkRwvytvqcYVcpetSLKqI0YMQIo9c6QH4TQ2NH5DoLySSrEcePGAbDlllsCQYkR89RTTwFBzafzhc6JAMcddxwQ5kEpZmIFZDujuMsjTv0lVsAUGakKtGbSOTH2HlHfEoqR+p/mfQjjT3GVh4/iucIKK2THSuWg7LzGrBRBrUC83ixXhSku8pGEYqkG8qI5Wx5JMSuuuCIQFL9Sr0BQQ6uMuf7f1b9iZYKUnOorXSlZpOJrx3WD1o4aJ/HOh0suuQQIv3eE5uu4fLf+T7SGUkxaaWzlQfNI7Nmjc5LGphTCsXJQKmnFU/HQ/BR7LUpFJm8vrbN0nm3HfiQeeughAPbff38geHNVQvPvGWecAYQ1/i233JIdo9+PWl/EvwOgVOWjdWultUdP6a4H0Kxpmn488f4nwKydHZgkydAkScYmSTK2N21F6A6OVX4cq+pwvPLjWOXHscqPY5Ufx6o6HK/8OFb5cazy41hVh+OVH8cqP45Vfnq8kTFN0zRJksqb3yY8PwIYATBgwIBOj6s1uuL5zDPPAMEHQsRXI1deeWWg+VmHesRKWQBd+VelszgLrAxBufJJMYqvdusKsK6o6+9GXxFvZL+Kr/becMMNQLgCrlvt4YwzKuVVPppJreIVKwG0x1eqICkM4v3+UvNo/6oy61IdHH/88dmxUmqUV6+Qp4Y8E8rbUWvq0bcUk7FjxwJBNRBnyOUBUY1fg+KqDIJu47GsDHE9Kjg1a34v5+233wZCpae4kof60fbbbw+EfttoGhEr+Y7Fqk3tIVcf1NjR3B2fCzVeNabVj9RPG6Xo6G6stEf/888/B0qrFuo7aR6R4iAeF4qJMnA6byqrJ8UrhLipaqjUPJX8gpRtPeSQQwC47777Sl7TU5o9DqXq0ByuTLmUTq1EPWKl7LcUP1JqxHO5+ov6m1TZmvdjlUL5nC3Fq/5WVjh+rB7UKlaxAkhrJM0tUgjE36Md1QI9jZVUAfrNMvE9gTDvqh/E620pAxTXrvqDzgFSGUkdqs+JvYWkOqvX/0Uj5qxKSnHN+zpXjB49Ggj+nrF6VvPXtttuC3RUDTWKnsZK30nndwhzlvrPuuuuC5T6JZWPVXn+6DdRpbWq1P3ymWq0aqpW/WrMmDHZfanCulL+aM7XTgahNXqsCJZyqly5rxjJawqCQrIevlPdPXN8miTJ7AATbzvWUzXGGGOMMcYYY4wxLUF3LwDdBuww8f4OwK21aY4xxhhjjDHGGGOMqTV5ysD/kQmGzzMnSfIh8FtgOHB9kiS7AOOBIfVsZHeQFFlbLrRFR1I2bSuBIMVtR9lpXiQfq8ZISjL4nXbaKXvs/PPPB0J8Jferpwy5WcigS9tLIMRRhmnacqOyrbHUudxstQjE/8/6fuonkse+8MIL2TGSnEpiLIm8yifGhpDamqLYqsy85O6xPLndUMnN3/3ud0CQ5M4111zZMYpfnnlIr9cWF41L9cdY+qztBEWc3zSvS74taW38XQ8++GAAhg4d2uDWNY4PPvgAgKuvvhoIpVghzE3lW7403mJpsbZBH3jggSXHaozH26Rbac7XvKvz/TnnnAOUbkfVPKKy2aussgoQzv9QOSYQvmulMSTjbG0X0zZhSewhrDs035VvvejsvdsFnSv1/eS9EJsgF414q4i2k+j7a8zFWybLt9rrPKfthfF2QG0n6KwQQLv1lfh7aNuDttdovaAtIxDGZBHXUOWoXzzxxBNAKFwD4XxeXrAgNo3Vdnr1GR2ruS8+VueJa665BgjzpvqTTG6hdG3Srmisxf1I97UlR/1PW3XiOVkx1VjVNs12G386r8W//7RGVBxk4aAtWxDGqtZZ2roc91GhuU+32i4lI+n4PNvKqFjE3XffnT2mLdxC6wMVVQI466yzgLBG0jjUb+UYxVqx0vpC29TjYjsah/WwvchTBWyrTp5ao8ZtMcYYY4wxxhhjjDF1oPauQk0kNlm67LLLADj55JOBkK1RliUuV16N6WpvQlcl4yviuhIsVO60ndUZnfHGG28AQeUEQaUhRUd5pjhWXhQ9e6X+oRj85S9/AeCee+7JjpHZ8SeffAKUKqSg9Kq2rnoPGTJBUKjyuO2q0JNhHoSy1DInVsyktIBJj6F4HCrj/sADDwAdlVb77bdfduw888zTrfa3Ay+++CIAO+ywQ8njI0eOzO5vs802QPv1nzxoHpL5tbJQUphAGGPKhmo8SWGn7CaE/iNz9l122QUIpsrKiAJssMEGQGvEVdnb4cOHAyGzFmfSZP45ePBgIGRDe9r+8kILKj2sjD4EtYPmv3Lzx3anvIytYlvEdYGI1WVSIMpc97HHHgNKTcjVT9T/ZPqrGMWG2fUsctAM4u8mU1ONAWXcY6W11HP9+/cHQkENZdVj9WFX6rx2QPPEgw8+CIS5HMI6QX1E89naa6+dHfPss88C4ftrDSolQlzWXMfGRQIg/AYaNGhQ9pjmsyIQz0OKqczXhcZcvG7X+U79V/HXebJd+pzGyHrrrZc9pv/zo446Cghr0z/+8Y/ZMTqPaqzqNVJCxfO+YqJz8fXXXw9UVtq2IvquV155JVCq+in//9Y5XupyCP1Hx8rQ+a677gLg7LPPzo7V3C/UPzX+Vlxxxey5WWedteSza0nraLiNMcYYY4wxxhhjTF0ohAJIV9zi8olnnHEGEBQruoIrdUGc9SxatqXWxNlklRnWPlH5i5RfTW9npBaTj0GsvFBmSlkEZa90dXaTTTbJju1s/37R0JVz9Q2pUiCUfS9Xjil+8d52jUllGfT/0IqlhLtC/eWRRx7JHouv/kPoL3G2SVmAuL9ByDQrvhAyzFI6KqMglUecvSvS2BSak5TJlLJin332AWDDDTfMjm0lr5paECvL5HkkH4Ny/ywI33/zzTcHgp+PznvK7kHoeyoFe8EFFwAhznvttVd27FprrQW0xvjUPCwlnOaQPffcMztGWbVaKX/KKR/TcZZPXjgay8rqFQXN54qB+lGRVbCxv5HG0ksvvQQExatuIfzfa506bNgwIPgFxeNowIABJe/b7sRjbYEFFgDCOVFzyoUXXpgdowy7znNS7mu9EJ/fdF+fofeXyr9R5aerRXOV1GOXXnopUNk3q3yuqlQq/thjjy05Ro+PGjUqe0xqds1NWqPKk1HreSjWeTNWnisGimG5YiM+Vv8XGoflyo12I14LaozpHK91u5Q7ENb28vFR/5DnWezbpT6qfqN4VuM720zkpXXvvfcClf35dD5bddVVgaB2gtLfyQBPPvkkAJdccglQum6L/eMgjMMll1wSKPWDq+c5tDgj3BhjjDHGGGOMMcZUpBAKIF3RlbM2dFT+aD+sruSts8462bHtso+zWbz33nvZ/fvvvx8Ie2NXW201oFgx1BXszTbbDAhqMgj7WW+55Rago7KlSFmTSVF+VVxZyyOOOCI7Rp4ccUUcCEqVuOKAKqboqrr2JCsLU14Jo1VRu3feeefsMWWV1D+UrYs9VRTHcgWQ9lnLYwlCNY+PPvqo5NjtttsOgOWXXz57rChjM/bcuO222wA48sgjgTDPyxtBKpciIR+eG2+8MXtMGbrFF18cCB5A2qMPIbtUTXU5sdFGGwGh+kecHZSaVtW1monmF80d+s6x0lfVNOo1HqR21Ji8/PLLs+fK1yNxNrCdUX9RRlhzl9SM5f2pSMTqHJ3H5Dcm4oy7FB+ax+RTJm+MWHmgTHur+2Z0B3nUyNdH66vzzjsvO0aKQ1Ub0vguX89DOKeqz6naoxSKCy+8cHZsK6gVNUdpfpASrHyNBEFZp1utEfbdd9/sGPmclvudVlqL6jmpM6SSkkqjaOdNfd/x48dnj8kTSd5L8mHUuTRWjN1xxx1AGJvyHJQXaLut9+Nzn/7PpYxdeumlgVKVr3x1FT99f6nutOYHuPjii4FwbtNz7aJAf+WVV4DSKsaifPypslccT63PpSxTFTSt2+L1a7laSnOixl+scKzn+r29eq8xxhhjjDHGGGOMqZq2VgAp2/T6668DpT4butqmK3bKjMsToFX3BbcSunKp+ELIbh500EFA8bwMYqQ4OeCAA7LHlGHv168fEGIjlUaceW+37EB3UeZNWUv5h0BQoqgvKSNz1VVXAaVX25UB077/9ddfHwhZwLiiTyuqWjQfPfTQQ0CpOkz9QiSq5okAABc6SURBVPut5VOgfgQdPaP0flIWxLFStk99TBXTpNiI/w/aHcXh1ltvzR7bY489Sp676KKLgFCZqgjoHKbsm8ZFvKdeCpflllsO6LnvmPqTlGlSOSjjLpUehH7ZTDSfyMdImVrFIW6vjql1BRdl9DU+pWSIlbOKo1QJiyyySE0+u9mov5QrfZQFLq+SWSRib4Z1110XCPGQajWuPiSvH50L9ZrTTjsNgNGjR2fHqhqMxmErnu+6i9ZVUh4oVoccckh2jCrx6Jy/6aabAmHdHit5NJ6lBlUFQ702rvgr1VEzkYpC1VI1Z6k/xWNG87u87fRdpKCG0H+0TtLvIK0/Yo83jVPNj+pfUrAVTbEnZeKf/vSn7DGdV6X8kd+K5vHYt0txUozVxzSWte4qApX8I3VfiidV5bv77ruBUn8p/QbSXKU+Fa/bWxn9/ijf1QGhz+iYp59+GijtKxq38o7VuNO5Px7XmrN0vlBlRP0eaJRSsXf8QjXGGGOMMcYYY4zpxfgCkDHGGGOMMcYYY0zBaWt9riRnKt8maS0EyZYkeltssQVQagppKiN5mkysjj766Ow5yfpkrNcbttLFhoM77rgjAFdccQUQzGgl7+stpd9jJPmsVF5ZkmXJIiV33nLLLYFgyAehjKJuZR7XLtt69N20/SE2fdPWQUloJTuOZaGKm95HpoQqJ6ltX/Fz6m877bQTELbcFWHLgOYhya3feuut7DltG5C8ePDgwQ1uXf2QBFnz77hx44BgEBgbw0o6XOt5R31Q51jJw+PtBPHWimYhCbXaqW0U+lvGuxC26yqO3YlZPKZVfEJz2MEHHwzAu+++C5Sa+uoztQU93irczmiMlpdHXmKJJZrRnIYSz7HTTjttyXPx1i+hbRTqCxrn2rYbbzV/8803gVID46Khc5/WlPE6a9tttwVCHLUW0HozLrmsMfnb3/4WgDPPPBMI2zNaYVtTXNhBZvQqWqM4aI7V8wC/+c1vSh7T+S5+Pxn1anuK4qk+VKkdmpt0btE5Ni5rrbm0HdcSsqrQtsIHH3wwe07ztPqY0JpCa3oI5rwvvfQSAOeeey4Qfk/2FtRHNUa/+OILoLQwieKnc/KCCy4IlG5XbGU012jLVnyu1xyicaO1RHyO1/fWHKXxU76WgjAO9Vm//OUvgfoXqijHCiBjjDHGGGOMMcaYgtPWCqAPP/wQCNn1uLSqsnunnHIKAEsttVSDW9e+6Or5VlttBZRmUffee28glAzsbSjTJ8PP8gy5zH17E11drdbVcJmFS6WnTEJ8BV0ZBL1GBnS6Et/qmajykrWxqaWUiFIgKqMSf6fy8u9vv/02AEcddVTJ+8fIlHD//fcH2qfkZh40v19zzTUAHHPMMdlzMsm78MILgfb/3nGWWkqnk046CYD11lsPCHPMkksumR1br+ya+prGq84JMpuG1jLAlAG95mMZVCtTCTBmzBggKKikwpGaDkLWTq9Xdl3v++qrr2bH6rx4xBFHAEHRoTEdF0jQGmWVVVYBilMgQN/5D3/4Q8njcYl0U4rmKilUZIocq1qkOJCysYjx1BiQ8Wlcqltzi7Lymue0NojnSxnS6pwqZaKMfzfeeOP6fIFuovO85pRyY+bNNtssO7Y8DpqfYiWm5jGtn6TG62q9pM/UscceeywAJ554YnaMTLrjogOtjr7PwIEDgTDGYkWeftdI3aO4K6axMuj8888Hwjyn9WqRze0rob6k9YDmKin7Y9RnV1pppZLXtjr6bTds2DAAHnjggew59aeRI0cCYR0U707QelW/VzRnPf/880BpERONfalB1RfjohWNoBirEGOMMcYYY4wxxhjTKZO8jJkkSR9gFDArkAIj0jQ9J0mSGYHrgL7AOGBImqZfdPY+tURXulVKWntpY04//XQAVlttNaD3XbHtDsr6Hn744UC4er7CCitkx2hPchEzUnlQjOLyfxCyeMpEtzvlapRK++jz9AFdDZeCQOoYqRtiVYuye/LHWWaZZYD2UVW98sorQPCH2nrrrbPnlA0ozyTFMdT++7FjxwKw8847A6XlpIUywxqr7bLPOg+az5UxOfXUU4HSTJKUnWussUaH59qRWAkn7x+NQalRlB2Kj601Gp/XX389EMapPnOPPfbIjo3LYDcbZf1V2ve4444DQvshqOWuvfZaIKwJKu311+0ZZ5wBhDVHV34iej9l5G+++ebsOXniFGmcxsi7QJ4QKnPfW9cJXaFzgDxatttuO6B0japzYFGUYpXQ/CY1Qfz9tb761a9+BQSVhubCv/71r9mxer3UepqrFlpoIaA1+mB8flI7NZdIeVJJFazvKwXLp59+2uG9P/jgAyCcE6XSkEo29unUGiOe8yD4lqk0PYQdFZtvvjnQuv6W8Zys332KiTyTbrzxxuwYnSsUF40x9ZuHH344O1YKUvXVZZddFgjKjd6Cvr8UMDfccEOnx6oftpNyDGDttdcGwtyrfg/h9932228PhPN4PCbUDzX+pEaT6v/RRx/NjtUcMGDAACDMc5W84+pJnrPL98BBaZouBAwE9kqSZCHgcODBNE37AQ9O/NsYY4wxxhhjjDHGtBiTlMWkafox8PHE+18nSfIaMCcwGFh14mEjgUeAw+rSyjLeeOMNAO699161ESi9KtusPXXtiK5yX3fddQBcffXVQLgaucsuu2THypelt6KMglQZ6nvaI6qsS7tSrtjRlWplLeMMtsaYMleKReypoQp9ulUG66mnngJKr6BvsskmQPAE2G233YD2iakyjcoW/PGPf8yem3/++YGQFdBcFftrvfPOO0CoZiJ1lDKC2qcPQV1UFEVB7N/2yCOPAHDxxReXHLP77rtn9+WvUrRqShAyZ9onrqytxtVjjz2WHauxoaxmniytPktjWtlfCBWt5LekrKiyeurHrYbGgeYkee5ICQThO5RX9OjKh0vomDi+GueqvHf88ccDQQUar0eKrOSA4FcmFK/O4tlbiNUJGsfy+HruueeAoACJs7/yimp3ZWNXaN2pOMTnQsVNKkMp8JRdj5XDep1UHornoEGDgFBhp5nE40D/z/E6CcJc/vTTT2ePab5Rla7yCqEAJ5xwAtBRgah5KfYi07lDc77iqn6mdRlA3759gRDr2WabLd+XbTCxKkqegPo+66+/PlBa3Ux9S2tbrck0h0lVDeEcKd+uIUOGAGHu7y2on+j3gX7/xPNTeZXSdj3ndTVf5Pn9K2WZ5irNT3GV8vL5Teu3Rsesqk9LkqQvsATwDDDrxItDAJ8wYYtYpdcMTZJkbJIkYysZRpmAY5Ufx6o6HK/8OFb5cazy41jlx7GqDscrP45Vfhyr/DhW1eF45cexyo9jlZ/cxjhJkkwD3ATsn6bpV2VZszRJkoqpnjRNRwAjAAYMGNDtdJD2wkKokKBspYjd/hdeeOHuflTTqFWs8hDHc9SoUUCoZqKsgzwTttlmm3o2pVs0MlYxysqXZ+aUKdDzrUZX8YqzUxpTcsDXlX8R79OX4kXZd2Wn4hiossell15a8j7KgikrD7DqqqsCYew2K4PQ3b6lk42yJHFmShVJ5Esg5BcEIcun7J5iffTRRwOlCphWycb1dByq78WqlrvuugsIcZx77rmBkFmC4IHUTnQVq9inQmNDVTQef/xxIHhMxeNCPiJS5swzzzz6rOwYZZbVH5X5VH+LPQ807vV6+S+ts846QNjPXm+q7VfKummPvr5rXKls3LhxANx+++1AOAfGagL1OX1P+ZBpvElhBEFhoAy7zpvNUG0063wozyj1yfLvHvtVtYIXC/Q8VlIrxqoCnSc1Z0tVEK+zpPzRGLv88stL3lfqBSjtZ82kHv1KY0xeZ88++2ynx2psanyrP2kMQ9gRoNhL9bfWWmsBjfMq6ypW8bjQOJCi97TTTgPC/BSvG7Qek3qg0vpS87vW6ZqrKs1DOm/Kj0SKH8VVbYCgxF188cWBjt45PaVWfUvjCjoq1dUnpDKDoBDTOU5qdymv48qR+q5nnnkmEHxhGj3HN2t+F6p++eKLLwIhzrEidujQoUDwf2sWzY6V1GKa3+Q5GP+WUr8q/z2pPtmo/pXrF1aSJJMz4eLPNWma/mniw58mSTL7xOdnB/5WnyYaY4wxxhhjjDHGmJ4wyQtAyYRLUZcBr6Vpemb01G3ADhPv7wDcWv5aY4wxxhhjjDHGGNN88mwBWwHYDng5SRLtuToSGA5cnyTJLsB4YEh9mjgBmcgCnH322UCQoUnmt+6662bHtEvp6EYjSe25556bPTZixAggxFFbwfbbbz+gdcs/NgPJl1XW9+677wZCf2sVmXs1xLJiyWGfeeYZAB566CEgSBZj0+E+ffoAYRxK4hiXLddz2iKgLRkqNxobrrWL2XNnyARPpR1jafJ9990HBOm6+pHkyDGKg8bhwQcfDLRW2e1aIWm7Sr9DKPEro7wtttgCCKbgULxYxFsrl1pqKSCMOUnwtUXkiSeeyI694IILgLBtUP0qNp/VfX1G+RwlyTLAYYdNqOOg7ZjaAtUu8da5SnNTvJVGY22jjTYCQnynmWaa7BiVD5YB6rTTTlvy/vH/U5ENevOivrPVVlsBMGzYMCDM8+14PuwMbf0aM2ZMyS2E7WDlptfanhQfo9dpntf24BVXXDE7tkhxK0drAZU+1hbXeCumYqK1ica11iexCa+25cigV3OWCna0GjKS1VYtbZ258847gdJtg5pvVMxG2001v0H4vorJYostBoRtXfGWLa3HhI7R+Tc2ItdaT+s6mdnGW7FbgfjcpHW5trZpu2W8dVlbcvR9vvzySyDEIj4f6JyrohvtamzcXcq3yWndrnNfvHZYeeWVgcZtE291PvzwQyAUd4nXZFqnaYxpndHoNUWeKmCPA521ao3aNscYY4wxxhhjjDHG1JrcJtDNQlcg41K1H388ofiYMigyK1bWEpydK0fZTykQdBUcQuZFRp8qxx1nA8wElA1RlkYx0lXvdux3cVZb30Nmbxp/+r7x95N6Q5knZdziUokak3vuuScA/fv3B5p3xbueyOBZSsQnn3wye65c1aLvHZcx33vvvYGgUJAZdpEVeMq+xWWkZU6sbJ4UMTKhLDo6r+l7a+6W0XNsmK3xqezl2LFjARg9enR2jMaask1rrrkmEFQGO++8c3as+mMzDY1rSayk0P2uStnnKfNqAoqpbqUg01gtkpJFY0zrJRk9Qzhfan6XIi9W12qsSvkiU/8ll1wS6Kg2Kyrl5z4pVmROD8FIVut+mRZvt912QKlaSudJrV1a/Xyp+V3zsNTjWn/HcZDiRH1PhQHiNZvUBFp/latUYvNZ9UeNT63H1G9jRbIUzFLEtOq5IJ6zV1llFSCYFkvlExtrl6P161577QWUFpiQmru3KX+E+oMKUMQqFgiqHwhK5VbtJ41C87yUafF5QiiOCy64IFA7Y/Vq6Z292hhjjDHGGGOMMaYX0fIKIF1NVMlVgKeffhoIWRbth20Xn4JmoDKI2sOpPZ0QMgcbb7wxYP+krlA2Zf311wfC1V3101bPPlUiztLq/17l2cv3SZ933nnZsRp3yuApExcrNVSKVXvXi5wdkN/IpptuCsCyyy6bPaesn8oma+90nPUtiuqiGjT3xPO7vByU5Rw4cCDQe7Jw+v/X99ftfPPNV3JbidgnSSjb1FmpbmO6i84dRx99NBB8crQWK1Jfk4JOioNYhSH0mPxd5plnnuw5xULn2LXXXhtoXa+aeqO+s+GGG3Z4Tll03WoO02vauV9pHtb6KfbzqQexkl/3tTaRf5AURp988kl2bL9+/YCwrot9l1qJX/ziF9n9Aw44AAiePX/5y1+AUl8febPoMSnwtH7z78iAlI1SApX/ztHaDEr9gHoz8nrTrgmpeyrNWXpMqr9G+yf1jhW1McYYY4wxxhhjTC+m5RVAIlZWxFd8Tdfoyr7c/1WpKK6OIu8RqTWatR+xHVD2TnFdb731gFD1pN2zB+ofm222GRD2jKs6zg477JAdqz38OkbZpd6i1OgMZSnnnnvuDs+5QkIpUottsMEG2WO9vf/0hEpZpiL5sJjWRP2uyD42WhdJERFXrZKXis6FUgnFygPFRgo+r7M6R/1Jtz4n1AfFV30xViPVW5lUD6RC0W1Xfm+mMrHPT7mqR+PwmGOOAYL6H1pXIdZo9BtQnkg6B8QV+OQDN+OMMwLNU4F6VjXGGGOMMcYYY4wpOL4AZIwxxhhjjDHGGFNw2mYLmOkeMiWUFHLLLbcEgkkaBPnZXHPN1eDWtR+SykryLUlk0STK2jYiWWdXUlqZYxrTXYo2fowxxUJrKcn2uzIvrmQQbYwxrU68FpPNwyKLLALAVVddBYQ1/6qrrlrxdb0ZxUEl3u+8806g9HeSfnPr96S3gBljjDHGGGOMMcaYuuA0RS9h9tlnL7k1PcMZPmOMMaZ3IeNcm6sbY4qM1I6bbLIJEBSOlYpNmFKk7ll00UWb3JLOsQLIGGOMMcYYY4wxpuAkuqLXkA9Lkr8D/wI+a9iH9pyZ6Xl7f5Gm6SzVvMCxyk+bxgp6Hq+qYwVtGy/HKj8eh/lxrPLTzFiNr9HnNxLPWflxrPLjOSs/nrOqw+MwP45Vfjxn5adhsWroBSCAJEnGpmk6oKEf2gOa2V7Hqj0+u7s4XvlxrPLjWOXHscpPs9vb7M+vFvet/DhW+XGs8tPs9jb786vFfSs/jlV+HKv8NLK93gJmjDHGGGOMMcYYU3B8AcgYY4wxxhhjjDGm4DTjAtCIJnxmT2hmex2r9vjs7uJ45cexyo9jlR/HKj/Nbm+zP79a3Lfy41jlx7HKT7Pb2+zPrxb3rfw4VvlxrPLTsPY23APIGGOMMcYYY4wxxjQWbwEzxhhjjDHGGGOMKTi+AGSMMcYYY4wxxhhTcBp2AShJkkFJkryRJMnbSZIc3qjPzUuSJH2SJHk4SZJXkyR5JUmS/SY+PmOSJPcnSfLWxNsZGtQexyt/Wxyr/G1xrPK3xbGqrj2OV/62OFb52+JY5W+LY1Vdexyv/G1xrPK3xbHK3xbHKn9bWjpW4HhVQ9NjlaZp3f8BkwHvAL8EpgBeBBZqxGdX0cbZgSUn3p8WeBNYCDgNOHzi44cDpzperRMvx8qxcqw8Z7VTvBwrx8qx8pzVTvFyrBwrx8qxcryKFatGKYCWAd5O0/TdNE3/C1wLDG7QZ+ciTdOP0zR9fuL9r4HXgDmZ0M6REw8bCWzcgOY4XvlxrPLjWOXHsaoOxys/jlV+HKv8OFbV4Xjlx7HKj2OVH8cqPy0fK3C8qqHZsWrUBaA5gQ+ivz+c+FhLkiRJX2AJ4Blg1jRNP5741CfArA1oguOVH8cqP45Vfhyr6nC88uNY5cexyo9jVR2OV34cq/w4VvlxrPLTVrECx6samhErm0CXkSTJNMBNwP5pmn4VP5dO0GOlTWlYi+J45cexyo9j9f/t3CFu3FAUhtH/gnQBKYqUgoLsoiuYFYRlIdlDdlBYWqmD2xWUVCUFVWBAsgkHjMHA+4hn5ukcydLYBn76LBlcjV6fVmP06tOqT6s+rcbo1adVn1Z9Wo3Rq+9UrbYaAL0k+XR0frteOytVdZXDS/i2LMv39fJrVd2s92+SvG2wFL36tOrTqk+rMXr1adWnVZ9WY/Tq06pPqz6t+i6iVaLXiFO22moA9DvJXVV9rqoPSe6T7Dd6dktVVZKvSf4ty/J0dGuf5GH9/ZDkxwbL0atPqz6t+rQao1efVn1a9Wk1Rq8+rfq06tOq7+xbJXqNOHmrZbvdrnc57HD9nORxq+cOrO9LDn+z+pvkz3rsknxM8ivJ/yQ/k1zrdV69tNJKK9+sS+qllVZa+WZdUi+ttNJKK73maVXrIgAAAACYlE2gAQAAACZnAAQAAAAwOQMgAAAAgMkZAAEAAABMzgAIAAAAYHIGQAAAAACTMwACAAAAmNw7Smgb5bVfpVcAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 1440x180 with 30 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "##########################\n",
    "### VISUALIZATION\n",
    "##########################\n",
    "\n",
    "n_images = 15\n",
    "image_width = 28\n",
    "\n",
    "fig, axes = plt.subplots(nrows=2, ncols=n_images, \n",
    "                         sharex=True, sharey=True, figsize=(20, 2.5))\n",
    "orig_images = features[:n_images]\n",
    "decoded_images = decoded[:n_images]\n",
    "\n",
    "for i in range(n_images):\n",
    "    for ax, img in zip(axes, [orig_images, decoded_images]):\n",
    "        ax[i].imshow(img[i].detach().to(torch.device('cpu')).reshape((image_width, image_width)), cmap='binary')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Generate new images"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x180 with 10 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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pkwBuj85XaEehRejKLLFkCZiJfEecMABtgARVVVVdi/+85//BOKFU3V1tdmoSX7Lli0FXUxpgacdeDNnzjT7FKbTPVlZWcnq1auBOJTX3NxsjoAWhscffzyQDZckbfNHezT+FGYfNmyY9afsiaLInLuuoH24u7vQPPj5z38eiNNY0um0PQM1FhcsWMC9994LwPe+9z0AjjvuOCDrNCR98ahrqudA7969bQ46+OCD7T2yV88N9XFNTU2HlJiuxMN8juM4juM4eZBIZUoyuhI2DzzwwDbVvaFtxeHcMAPA3XffbXL0Zz/7WWDPVJ9SIJ1O23b1W2+9tc3PrrrqqkRXKFZS85133glklRrVe1E4d8KECabaSFWU2jFx4kTbmp0kJQdiSV2J51I9jjzySBuTSn5csmSJefVSspRIWcyEULWzrq6O2267DYgVw759+9o1V9J4bg002aswbENDg3mG7W0KIdhrUko+/PBD8ywl03e3MiV75JnX1taacpSrSAmFUqSwhRBMzVG4RP36zjvvmJIl5aO5ubmgGw50jaW8HX300aZia5u5tpTX19db/Swxb948s0vJv0qwP+qoozoodUlF16F3796mhGqsH3bYYVZ+piv6pFDKlK69KtPr2dm7d2+zV1/POOMMU31VYkjhzmOOOSbxp2WoXxTSW7Fihc0Nis5EUcTLL78MwH333QdgNt9www3dWhrJlSnHcRzHcZw8SORSVF6qqu4OHDjQlKn2q+coiky5UIx/2rRptopV3kXSV92dRR7PihUr+PWvfw3EuVJSdT7+8Y8Xp3G7Qd6D8tjkze+3335MmjQJiBOx169fbx6yVAJtPjj77LNNtUzall7F87UdV8nUKp4Kcc5Uz549beyqGKIKBxZTcZPCW1dXZ+qLKnwPGDDA7iUpHeqDTCZjP1MOzvz5802BVP/nVn2XIqmcj7PPPtvGsRSg7kbtUfv69Oljr2lDhBS3/fff3/IudC82Nzfz+9//HojzotR/jY2N9n6pjrlqeiHzVGRTZWWljU8pTVLNGhsbrc+l2qxatcrGhK6Hfv+4446zQoiFzAPLh3Xr1tl9KiVn8ODBXaqwFapfde9JOdzV56ZSKVOTlWOkosLr1683hTnpqO0jRoywvCjdd42NjTb3qOK9nindrb4l60nkOI7jOI5TYiRartHOhKqqqg47RuRlbdmy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\n",
      "text/plain": [
       "<Figure size 720x180 with 10 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x180 with 10 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x180 with 10 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlMAAABSCAYAAABwglFkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJztnXtwXWX19z9PmjQNSdMbbVrSAqU3CkUolJZCtSjQFqSCw8sPcVphVFAUFUTm9TIKqKDoiPMK4yu8qCgqKhQRsaByq5cClmtbKIS0tE0v9hrbpqQJydnvH7vftU/TK8lpzj6n6zOTSXJykuy193Nb37We9YQoinAcx3Ecx3E6R0m+L8BxHMdxHKeQ8cWU4ziO4zhOF/DFlOM4juM4ThfwxZTjOI7jOE4X8MWU4ziO4zhOF/DFlOM4juM4ThfwxZTjOI7jOE4X6NJiKoQwI4TwRgihPoTw5VxdlOM4juM4TqEQOlu0M4TQA6gDzgFWAQuAS6Moei13l+c4juM4jpNuuqJMTQTqoyhaFkVRK/Bb4ILcXJbjOI7jOE5hUNqF360FGrK+XwVM6vimEMKVwJUAlZWVpxx77LFd+Jf5Y/ny5WzcuDHs6WfFbmOx2AfwwgsvbIyiaGDH14vFxkO5nULx21gs9oH3RdzGgmBfNu5CFEWd+gD+F3B31vezgTv29TunnHJKVKjsvPb93pdit7GQ7YuiKAKej4rYRm+nh46NB8u+5ubmqLm5Odq+fXu0ffv26O23344ymUyUyWRy+n+8L6bHxs4+20KysbMcqI1dUaZWA8Oyvh+68zXHcRynAGlqauKhhx4CoK2tDYgd7tNOOw2A0aNHA9CjR4/8XKCTE5qamgD4z3/+A8Cbb77J+9//fgB69eqVt+sqZLqSM7UAGBVCGB5C6Al8BHg4N5flOI7jOI5TGHRamYqiqC2EcDXwF6AH8LMoil7N2ZU5u5DJZAB4++23AXjnnXfsZ/q6f//+AJSWdkVwdBznUKO9vR2ABQsW8MYbbwCJMlVWVsakSXE6bLEoUrJ3+/btQGzrli1bAGhpaQFg+PDhAJSXl+fhCg8ODQ1xmvM999wDwCOPPALAzJkzOeWUUwBXpjpLl2bdKIrmAnNzdC2O4ziO4zgFR+okjCir7lUI+0+gPxRYuXIl8+bNA+LYNsADDzzAoEGDAHjve98LwKhRowCYNWsWJSVe3L6QkPJYyM+tvb29aJSLQw2p2wsXLuS11+JSgccddxwA48aNM5WmGJg3bx5PP/00AL/85S8BWL9+vc09ZWVlAFxzzTUATJs2zZS5Qu6fra2tzJ0bax8333wzkMyxX/rSlxg4cLeNlc67oHBbhuM4juM4TgpIjTK1adMmANauXWtx7GHD4s2C1dXVFseV53soqFbPP/88AI899hi/+tWvgCSeX1JSYl6S7ld1dTUQKwRp9qCkwmzbtg2I63hs2LABSPK+MpkMJ554IpB4isXGjh07ePDBB4HkXpxwwgkATJ48ObVtXM+vsbERgGeeeQaA+vp6+vbtCyS7vvr372+vKfektbV1l+8Btm7dCsT3RAqBPGX9fprbdKGje15dXW15mUOHDgVihaoY8miam5sBWL16NbfeeiuQ5IVBcg+UT/Wzn/0MiNt77969ATj++OOBwpp/ZNcrr7zCTTfdBCR5UV/4whcAOOeccwrKpjSS98WUGu6KFSsAePzxx22wPeKII4B4ATVmzBggGWBramoAqKysLLpGsH79egAL7d18883W6Y855hgAJk6cuJv0rkEwTWQnev79738H4LnnngOS0MJ9991nX2uCvuSSS5gwYQIQhy0hmVQLnR07dgDw4IMPcueddwKwePFiAG677TYATjvttFS26/b2dls8/eMf/wDipGWALVu2WP989dV4L0qfPn3MAVJb0OfskL4WaE1NTVRVVQFw5plnAnDGGWcABycRWDVi9vaa2qWeRXl5eSqfS1eRkwZYGYSjjz4agJEjRxaFzZpXDjvsMFtMyBEtLy+3xZbaomyurKy0UgLquxUVFd134Z1EbVgbCm644QZzWk466SQgcV4LdWzVvKhnW1ZWZk6Xnl9229X7RBRFtmGrqxu33NVzHMdxHMfpAqlRpurr6wHYuHEj//73v4FYfRFSrqTMjBs3DohXk/Iu5D1UV1czduxYIPYqoDBkWXkSTz75JAC33HILEHtD5557LgAf/ehHgdhjlt26h/KW0mCrru3FF18E4NFHH7WQlgrFaStyRUWFeUbyDubMmcNf/vIXIFEop06dCsCAAQO6w4ScI6/w97//PRDfG90DtdO0e4grVqwwRUrbrHXNp512milTassNDQ2mTOmzvMNVq1ZZW5C61d7ebuElKZO5bM+6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\n",
      "text/plain": [
       "<Figure size 720x180 with 10 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlMAAABSCAYAAABwglFkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJztnXmUVNXVt59LN900DdphEmgbWkFEEUFRIw5RNFFB45TPOITEZVQ0miw1k5poYmJi1GWMmtdoTKIhmqif8ZXPIc5DHHFAFByYRAURGaRBhp7rfn9cfrtuFzPVXXWr2M9avaq7uoaz7xnuOb+9zz5BGIY4juM4juM4W0enfBfAcRzHcRynkPHJlOM4juM4Thb4ZMpxHMdxHCcLfDLlOI7jOI6TBT6ZchzHcRzHyQKfTDmO4ziO42SBT6Ycx3Ecx3GyIKvJVBAERwVBMDMIgjlBEFzSXoVyHMdxHMcpFIKtTdoZBEEJMAv4GvAJ8DpwahiG77Vf8RzHcRzHcZJNNsrUfsCcMAznhmHYBNwDHNc+xXIcx3EcxykMSrN4bzUwP/b3J8CXM18UBMEEYAJAZWXlqKFDh2bxlfnjo48+YunSpcH6/lfsNhaLfQBTpkxZGoZh78zni8XGbbmdQvHbWCz2gfdF3MaCYGM2tiEMw636Af4P8NfY398G/mdj7xk1alRYqKwt+yavS7HbWMj2hWEYAm+ERWyjt9Ntx8ZCti8MvS+GbmNBsLk2ZuPmWwDUxP7ece1zjuM4juM42wzZTKZeB3YJgmCnIAjKgFOAB9unWI7jOI7jOIXBVsdMhWHYEgTB94HHgRLg9jAM3223kjmO4ziOs9mkUikAmpqaaGhoALDHNWvWsGBB5DxavXq1PQcwaNAgunfvDkBtbS0AnTp5GsotIZsAdMIw/A/wn3Yqi+M4juM4TsGR1WTKcdqLpqYmAGbNmgXAwIEDbdW0ePFiAGbMmAFAVVUV3bp1A6BHjx5AtLIqLc1Pcw7X5moLw5CWlhYgbY8oLS2ltbUVSK8KGxsbWblyJQBf+tKXANhuu+0AqKys7PiCO+1CGIYEwaY3+ySZVatWATBt2jSWLFkCwG677QZAv379TLVwkkMYhixatAiA999/H4B3342cQ0uXLuW1114DYMqUKQA0Nzfb2JM5PvXo0YPDDjsMgNNPPx2AcePGuTq1BfiVchzHcRzHyQJXpooAKR7Lly8HopXIp59+CsCHH34IRMrN4YcfDkQrTUiOTzwMQx5//HEgUmsgsqVz585AtKICmDlzJgBPP/20/U+rqR/84Ac5VaZSqRQfffQRAB9//DEAc+fONRVt9uzZQDomYciQIaa6qeyLFy+mvLwcwMq+5557AjB69GgOPPBAAFPhCpHm5ma7JmVlZQB06dIFiOxKuqKTqSZ+/vnnfP7550C6bj/99FOzY8iQIQBUVFQAMHjwYEpKSgASZavsevPNNwF45plnAHj11VetTeo1O+20ExdffDGQVoK3BaQ4J6neAGt/jz/+uI0pN954I5COj4J0/anfVVRU2NgjNLYuX76cadOmAVGbheTcH2RHfX09AF988QUAy5YtsxgxjSlr1qyhT58+APTuHaUw09ja0fVYcJMp3Wx1QcvKyqzR62LX1dWxbNmyNu9TUF3cRZRUZIeCBVetWmUyvBp/S0uLSbxyFemaTJkyhRdffLHNZ+24445sv/32ABxxxBFAesDPN01NTTb5GzFiBAArVqyw8mqSKKZMmWI3KE0QczWRUlurq6vj4YcfBtKD21133UVdXR2QHtR0jf/73//aZ8QHPLkFVa+6qT377LNceOGFABx99NFAelAsBJYuXQrA7bffbu1Tg9nOO+8MRBNH9UvVteo1n7S2tprb5IUXXgDSdTx37lxzN0+fPh2IJscqvxYqmhTvt99+9O3b136HyKWbTzvDMLSyaxHz1FNPAdENVC7nd955B4AlS5bY604++WR7XTGgm/E777zDgw9Gm9F181Zf79Gjh/VjucDy0Rd179NYMmvWLK677jogPc4rPKCkpIQLLrgAaDuJkE133HEHgN0nKyoqOOmkk4B1XYD5pKGhgUcffRSAt956C4DHHnsMiMqpcXPevHlAZL/627HHHgvAwQcfDET3ll69egEdM7Eqjh7hOI7jOI6TJwpGmdIMeuLEiQDcf//9QDq4DtKrjFQqZVK1ZvNizJgx3HDDDQDsvvvuHVvoLSAMQ5599lkgvRq+++67gUihuuyyy4C0AtO1a1dbQXbt2hVIB2i/9dZb62x9/eKLLxgwYACQlkSTwurVq2019MknnwBQXV1tq47PPvsMwAIqGxoarH616sj1SrG1tdVUFbXN5uZmUxyqqqqAtFuke/fuprBJqenWrZsF+0p+j7sA5UaUaqfvSyqpVMpcBZdccgkAL730kl0DrRj33ntvAObPn091dTUANTVR/t+RI0eaCqDHXKs4kyZNMmXqmmuuAdIB2qWlpaYmik6dOtnYI/T6qVOnctRRRwFpl9phhx3GTjvtBMAOO+xgn5ErmpqaePLJJwH4y1/+AqQVta985Su2apeS1tjYyNtvvw2k+9uOO+6Ys/K2F7oXLFu2jOeeew5Ihw5cddVV9jrVr1ScsrIyG1+kWp199tk5b5dqIxojunTpwoQJE4D0OCMXV9euXU2FUdmnT59uNkn1lso1cuRIuy9IOU4CkyZNsj743nvvAel6KSkpsfpQndXX15uKLGVVat2IESP42c9+BqTHILkC2wNXphzHcRzHcbKgYJQprVK1qtdsu7S01IIjtVIIw5DbbrsNSCszet/06dNZsWJF7gq+mUybNs1WCTfddBOQXoEcf/zxNpOW4lFaWsqcOXOAtI9bqlV8q7a22v/oRz9i0KBBQPICKufNm2dKk9SoRYsWWTm1+pBi19LSwi9+8QuAnNuk7+nduzcHHHAAkF4B7bHHHha7sNdeewHp679w4UJToaQazp4921ZN/fv3t88FGDt2rLVnxeMkFa34n3zySe655x4gveKtqqqyFfKYMWOAdLtuaWkxJVKrycbGRrsWUm+kvJaVlXVoPcfVpOuvvx5It8d4LEqm2l1ZWcn5558PrNsOFy1aZCtqteNevXrZ66QoqP3ngtbWVlvdK85y1KhRQFR+qYUqL8AHH3wApD0BqqMkx06pnhRjo40idXV1/O53vwPaxgfpmmgcjauNcZUKomuTa2VK3ycFqV+/fja+qE9pA0RVVZWVX+/r1q2btWc96n0DBgxgl112sdflGylNdXV11vb0nGyuqKiwelEcahAE62wcUN+aNWsWkydPBtIbs84666x2i7ctuMmUBi0Fy82bN4+ePXsC6Qs6b948C8yTq+zVV18FogE6Pkjkm4ULFwIwZ84crr32WiDdcb/85S8DcOaZZ7LrrrsC2I2pubnZ3D5///vfAXj99deBKHhbDUnX6ZBDDklcrhgNdtOmTbNBTZ27vr7eJsK6yclN1q1bN5tgyE2Sa4IgsHanNllVVWUuP3Vg2VBdXW03IA1yAwYMYODAgW0+VztpwjC0+srljXZLkB0KEL3uuussz40GqN122812JWYSz8ulvjtnzhybdKre5Z4eMGBAh06mdKN877337GYjG/W9ZWVl67gtjzrqKJtsyV0p13TPnj154403gLSb+sMPP+TSSy8F0u03l1mn6+vr7Xviuw4h6luZOdw+/fRT+7/qVxs/knDjXR+pVIrnn38eiHb/Avz5z38G2k6gNN6UlZWZLZpgxt256ot6bz4mkWqD++yzDxAt4hQCoLFF7a+xsdEWIdoU07NnTyv//PnzATjmmGOA6L6oBWAS0ASwsbHRxhLVlf4uLy83d7Oe69u3rwkOuhYKn5k7d66F+Pz85z8Hogm2FuTZktxlheM4juM4TgFQMMqUkBqgx6FDh66TdXrQoEE88sgjQNptoplu3759ExVgN3XqVCByw2l1vv/++wPw3e9+F4iygWuVqNVJp06dLNhXipS2Ozc2NtpKd/z48UAUbJ80957SAHzwwQemNEnCLikpsQDsX/7yl23e98tf/pJzzz03dwXdALqeWtEecMAB5rZSXYgwDC2IV7J1XJmSQiEVqr6+3oKCM3PDJAVteJAb5eWXX7Z+KSl+6NCh1q4z897Eg+y1mhw5cqRdT6kB+qyORuVcsmTJOtK/yjJ48GBTBvTcfvvtZ3Wl98lF+cQTT5iy9sorrwCRaqWt3OrrueybJSUlpqyo3anf7bvvvqZyqE/W1NRw+eWXA1H9ANx3330AnHHGGTkr95aiulDbks1BEFib0iaegQMHWjC62mc80FnpZJTXLh+nLaiNSE3s37+/ha8odEXjR9euXW0MktIWBAFz584F0m1XjwMGDDAlK0lUVlZaG1WqII0Pe++9N3vssQeQtqOmpsYUY10v/W/SpEnm3ZAbv6amxvpntuOsK1OO4ziO4zhZUHDKVCZBEJjqpNXCBx98YLEr//znP4F0fM6IESNs9ZxPFEsjlWLBggW2WtIqKB5Yrtdr9fzJJ59YEjOpcAp+7tOnj20BHT58OJAsdUM2KDB35syZlphSyR7XrFnD1VdfDaRjF7SKHzlyZKLs0Yq3urraYhEUC6dUHmvWrLFVo1aWTU1NthrUYzwQX78nyVZIxxEp0aNi9sIwtLLGt2Vnrp7V/6qqqiyuQQrdsGHD7Ew4PZercwpVvvnz55uKprFFjzvssIPVlVbFe+yxh8VYSc1Q34wHMeva1NbWWgySlPNcKlOVlZWmzkt9UuDy0KFDrSwaf9577z3L6C81UjEnqVQqkUHonTp1MsVBSpPaWn19PSeccAKQjgubMmWKtVONo6q7IUOG8PWvfx1IK475RG0zlUpZ4mYF12v8eeWVV0wl170vlUpZG/ztb38LpAPR6+vr7XOTUJ/xzObasKN2qfv8sGHDTHWSYlpbW2tKlvqixtGlS5eaMqc6nj9//jrxultL/q+a4ziO4zhOAVPwylQcqQGTJ0/miiuuANIzUKkap59+eiJ2R2XGA7W0tKyzOlVcxdSpU201rC3k8+bNs/QAmlnLrosuusgUqVzFm2wOWilo+7xUw5NPPtlWBVodNjU1mV1SJo4//niARO06gfSKqbKycp1dNYpXgLTCFj/vTe3goYceArDkrJ06dbIVYqZKkm+04lUMkFa+Xbp0MbuluKxcudJ2HGlFqTiVeNoEKSNHHnlkzneI6fr+5z//ASIVMTO1iMrUu3dv+5/ipBYsWGB9TzsRFX/T0tJiipdSDowZM8bacD4S6AZBYH1KKqHq4eOPP7bn1DZnzpxpdsl2qQX19fU5Uw63FMWNnnnmmW2e79y5sykfasNPPfWUtWONU1LtJk6caKkj8qkSa/yQ16W1tdXKoz6lx0GDBtm9Jb57Xb/Lc3HllVcCUSyxrlcSlPB4gmPdE3QPVLLtIAjsvq76KS8vtzaqelQM1aBBg8wrorpuaGhYJwnv1lLwk6kwDE161llpl156qXUWNS7duDXY5xsNzipfXV2dTfyUnVjuvqlTp5o9avxxl4oelT5h2LBhljMkSUHnd955J5DO8XHiiScC0cRBDVrX5bHHHrMbzQ9/+EMgnSpCAaVJo6KiwupA9fWvf/0LgPPOO89sU+deunSpDYyaOP76178GIvdDZnbsoUOH5sKMjRKGoW140OYJTSS6dOliN12xYMECs0OTiXiQup6TGyUfCx0NsHKZxDPZq13q71WrVplrSBtA+vfvb4c5y83y0ksvAZHrUPW37777ApFbUJmq89E/S0pKzF0ll6pypfXv399CDzRpfvrpp2080XN6nDFjhi3cknZ2ZOZpBIceeigQ5au75ZZbgPTiLX5epiaH2lI/fPjwvAScbwjZ1b17d8t1l3n+5WeffcYf/vAHIO3K+8c//mETZE2Gf/WrXwFwxRVX2GfIBZzPE0IUbH7PPffYpEjo/NbRo0db/sX1nTObuUGovLy8TcoFiCbM7dVu3c3nOI7jOI6TBcmZbm8hmq1+/PHH/PWvfwWwx1QqZasRnQSehMDBOFqZKnXB1VdfbSsIrfi1tbWhoWEd6bKsrGydrawHHXQQEMmZ65up55Np06bZivf2228H4JxzzgEi5UUJGhWAPnfuXLseQgnakuLuyiTuPtGqTqrMvffea8pjPMBXAZFCitbf/vY3awdyN+y66655Vxqbm5vNnS4pXuUrLy+3Fa/qsbq62tSmzGDr7t27M3r0aHtvvlC9SIVavXr1Okk7ZevixYttpaug7Lq6OnPlSWnUKr+0tNQ+Q+fa7bzzznl1pQRBYKpvPE0FwNtvv20qqRKPQvraKOBXbukBAwaYkpE0ZUpIVVLfvO+++0yFFEEQmJdAm0aGDRvW5v35JJVKWR3IJRs/my7z/rDDDjuYK1mvGTt2rHlv4kHsADfccIN9vsblCy+8MOdeAJVLp3vMnDnTyqXxQxs/Ro0atVnpHHRtmpubrZ+q/dfU1LTb2OPKlOM4juM4Thbkf8q9lcS31yvuQqvi7bbbzvzde+65J5Cs2CFIz4y/973vAVGZlRhPqwvFWnTp0sVm5ZpFt7S02ApSQc5aWcWDZPOFVhO33norEPmo//jHPwLpFaxW783Nzfa76Ny5s62C9VlSr5JMPBgd0kGT1dXV9j/Z09LSYgqOjjvSFufhw4db7JyCK+vr6/OeWG/BggWW0kL1qJVyU1OTrfzUFvv3728rfBEP8G3PU9u3FsX/3HvvvUDUHjMTJKotNjQ0WNyJVs/QNjEipFfYTU1Ndn3ibSLf6qqUNo2ZCr7v1q2bxaEoHqe+vt6UOsWC6ezFhx9+mG984xu5K/hWIGVJ8Xx77rkns2bNAtIpasrLyy1dgBTEJChtakfxmC6Vq1OnThtsR+s7Zqtv37620UNxq2+++SYQpbpQbOrvf/97IDq2Zty4cfZduSCukEJUP7JXGwmkTGmM2RAaZ6RCPvTQQ3bPjMedtZdtBTuZ0mQk7iLSTqorr7zSgnWTkDNjYygYecKECVZ+7eKLu0N0fpBk2VtuucXOntJAp9fk+7yshoYGOwdLg9XNN99sDVhB2nFXpGyVfTNmzLAgQdVhZnBzISC74oNefOOAgpk16ZesvnLlSnPzPvDAA0C0i1HBvvmaLE+cONEWKkKD1rBhw6yu4hntdeNW/alv1tbWJuKGpbLGz2zTokX1Ec/QrrP21O+6dOli41HmIaslJSVmo+q6qqoq74sdlUljjW7a48ePN1u14WPVqlV2wLEmWI8//jgQuWHk9tXuxqSha606ii9I9L+amhrbEJOEg8XVFnVtm5ub7V6RDeqfcs1KiHjggQdsY4jcuzNnzuSQQw4ByNm5rppM6XSMlpYWW4yozJmnmmwI3T8UXjJ16lTrs3KBamNFe5DsmYbjOI7jOE7CKVhlSiuKgw8+mMmTJwNpGXDkyJF5yd+SDd27d+fYY48F0u4vrQaCIFhnC/0JJ5zAo48+CqTVLa0y8h0wOXPmTDupXdvoR48ebSsKrWBVh0EQ2IpJLqTM4HNIZ8QuVDK3+MbTW6i9amv9559/btfktddeA6KAZwW257qO4xm+5eZSmdXuhgwZso7iEoahBb1Kbtd2/F122SXvCg20VbkhuraqF20UUdurqKgwN5jqoHv37m3y4kDaXQtp1Uffk4Q8PlKAlan9O9/5DhApNErJorqpr683l6aUg/jZdklw1W4OyqM0atQo2wSj63DaaaeZApJPNEZovI8H+gu58CoqKrZ6HMjMJt65c2e7fyoc45prrjG1LlfKlMIE4mebxhVdSKvGGxo7Mq+h3Pjz58+3/x111FFAun+3B65MOY7jOI7jZMEmp7VBENQA/wB2AELgtjAMbwyCoAdwL1ALfAR8MwzDuo4r6vopLS3lhhtuANLJHXVOT6GhANX1ZRSWn18r3oqKCpuZy/+rwLx8M2PGDAtwVBkHDx5sMVLxAEqI6lBB2cpIvHLlSlsNyTeulWWSWZ/6BJGyo9+1GlyxYoUpGYpd0ePzzz9vKoCu4YIFC9qc15hLpEykUikLhlWbVEqO+EpRtk6cONFipRSTcdhhhwHJiE2BdHs844wzgCjmUu1R11ur2xUrVtgpBOqnq1evNrVJaRbi54JJOdZnrVmzJmcr/Q2htqVyqjwHHnigKWiqz/Lyckuqes011wDp9nfAAQfkPUZzc4nXSTw+DtqeOJBPVEYpNNdffz0QtZnf/OY3QDpFzNChQ61tbUqt2RB6/cCBA3n33XcB2qQFUTvJRWqh1tZWG/80xsTtUfyt+ub6zoVMpVIWQy177rjjDntfZuLk9kzJsjmtpwX4URiGuwP7A+cHQbA7cAnwdBiGuwBPr/3bcRzHcRxnm2KTy9swDBcCC9f+vjIIgveBauA44NC1L5sIPAdc3CGl3AhXX321zVilTBUjirvQKl+75QDOOussgHbZ7dEe9O3b11QLbf1ftWqVKVNabcTPnlPcm/zcpaWl/PjHPwawrddJ2Pm1PqQuzZkzx+LBpMzV1UVibVVV1TpKU79+/SxGTEeT6NzCZcuWWTxHfLdZvrbUq/0pMS6kd9XE4xO1sn7kkUeAaGeQynzdddcB2A6hpCBVRnEp8Xam3VTxFXJm+43HTOk66X9VVVW2C0ntP98xjZAeK5S2Qmp+XPEWqVTKkstKGY8n8cx3uo7NRbvULr/88nV2XSodQlLITDGycOFCfvKTnwBwwQUXAFFiY4032g2s+MX4GXUbQzGtr776qu0Ol7LTp0+fvKnHsmvRokXWp6QI66zPxsZGi91TfS5fvtzSzCiNh+ICU6mUnVf47W9/G2jfXdFb1KuDIKgF9gJeBXZYO9EC+IzIDZgzdGFvvfVWTjnlFCD/KQE6ijAMbcIo6XLq1Kk2oCkgNin07NmTY445BsDOh1q0aJG5eeI5UyCSlXUWk2TXsWPHWqoIpXxIGrqB3njjjUCUq0cTJrl7JJmvXr3aJkcaHDp37twmsDv+WF5ezuDBg4HoIGiItq3ne0K53Xbb2QQ5s00OGjSIxx57DEgf9Nva2srFF0drrMzA5qQgF50G8AsuuMDOVNSGgLg7QeXX+1asWGFtWhNHTZxGjhxp7VjjUxIOH1dfVN+Kb3BRG4tnQldAsDaWaALao0ePREwON4b6lDLWL1myxBYA2gyRtBMyNEHVONrc3GwusJtuugmIJv0qv/qWXIDdu3dnv/32A9IB3EEQWF4xTYoVVvHCCy/w3HPP2esAxo0bt8lcTu1JSUmJTepPOOEEAG677Taze9KkSUB6UlxRUWG2ya5ly5ZZ2I82vOg+ecQRR9hCriMO595sJ3EQBN2A+4ELwzD8Iv6/MGqt4QbeNyEIgjeCIHijEPMEbQ7FbmOx2wduY7FQ7DYWu33gNhYL24KNcTZrSREEQWeiidQ/wzD837VPLwqCoF8YhguDIOgHLF7fe8MwvA24DWCfffZZ74RrS9AsU4kD6+rqmDBhQrYfmxXtbWMmy5cvtyR5mpWvWrXKVocdHcy6pfb17NnTVjRaAU+fPt1cWZmB5StXrrSVQnyL9kknnQTkxr23pTaGYWgZs+NBolKdMgPR10djY6PZpkdlKD722GPN9aAVZmVlZVaqTjbtVC6w0047jT/96U9A2h3wzjvvAFEKB2UCl8J40UUX8a1vfQtIr5A7kq2xUdd0zJgxQHSdpSbJpXD33XcDkaqhZIB6LCkpsfYrG6UUjBw50hQvJcHMJjVCe4012mYuF/r9998PRK4Q1bWU1w8//NCUKbmtdXLDKaec0u6u5/YeT+XF0A29a9euVl9KR5Oplnc0G7JRCqjqYJ999gEixUn3PKm/q1atMmXp5ZdfBtq6oOXKPfTQQ4FIfdO4JJX8yiuvtL/1Xrl+TzzxxKzSXmxNPSqhr7xNc+bM4cUXXwQi9QywpLn9+/e36yUlfMWKFdYvxYgRIwC47LLLOtSLs0llKoiu8N+A98MwvD72rweB09f+fjrw/9q/eI7jOI7jOMlmc5SpA4FvA9ODIHhr7XM/A64G/m8QBGcCHwPf7JgitkVBcoojOeiggyyRYbGhIObJkydbSnypIC0tLVx11VVA7hKqbS59+vRh/PjxQNqXfeedd5oPWzE3Wh316tXLYgOU3v+b3/xm3uODNsbSpUtt5ackeitXrrTAURFXnrSKkvp06qmn2tE6UvAUT1NdXZ0o+1Wu4447zsqlTRBSKyorK+1aSGE855xz2jUxXkei2J/Ro0fbClYrf/399ttvr6PEdOnSxdqClCldo2HDhtlzSUokLBukQkhdvPnmm01BU/985plnTBE/99xzATj77LOBSEFOOgqyvvbaa4Gon2amRkhCItU46m9jx44FIsVFY4UeFy1aZEHWuj8oBrO+vt7uH3qME0+YDFHf1Yaf888/H4jG5VzHN6oPKt3PT3/6U7snKPmv4vtmz57dJt0IRPdF9bPTTjsNiNRxgN13371D019szm6+F4ENXdHD27c4G0Y7ptSZJVeOHz8+p0FyuUDyus5ke/LJJ03GVaOpra1l//33B5IX0FtSUmKDgW5CAwcOtI4ePyAWIklabgNlIU5CzpeNsf3221tWbO0M0c0H2gZ9Ck0w4rsakx68m8muu+5qfTEzAH3YsGF2dptuyLlw7bU3QRDYgKyAVdXt4YcfboN5fMOLJk+ZOZo6d+6cuP4ZR+XVpGjMmDHccsstQHqC0dzczKmnngrAV7/6VSB9TlqS0XijcwU16W9tbV2nnhS4nTQ0PvTs2ZMDDzwQSI+pQRC02eASp7Gx0Q6vjoceZI6v+t+RRx5pfTUJY5La3qhRo6yf6fGJJ54AopAX9UtdkzFjxphrVBMyjdMdfU9J9h3LcRzHcRwn4eR/CrqZKPhOcqYCKJMknWdL5nlMOgNNAYeQnp2ff/75DB8+PLcF3AK0Cvja175mz2UGP4p85U7KhrKyMtvGqwDHeBBn0pW1raWiosIC4mXr6NGjgUiZSsr5kO2F6lGP22+/fWIyt7cHqidlse/du7eFDWgTQRiGHH545ISQIlUI7Vs53P79738DaRWmtbV1nTEoSS71DaFxcn0pgHQ/jPP973+/w8vU0VRUVNh9TvYDOHrTAAAEVklEQVTH3ZzySum52tpaU99y7bpNfo9wHMdxHMdJMAWxfFy8eLEl7lKwubb09urVa51stoWKVryKhVJCvYceesiSymnL9XnnnZe4oMlNofopRCVqYxSrXRtCioXUDKfwUZLIvfbay5RWtetUKlWQbVs2SdlQrGZzczNHH300kA7wLvR7RzGjtqd61Bm0ra2t6yjH+ST/JXAcx3EcxylgEq1MSXGqr6+32Ki77roLSM9Wa2trEzErbQ8yfcJ6nD17tilz2nVTaKqU4ziFQeZ4WoiqFKSPB7r88ssB7Fy2hoYGU62008spHKQiJi0uM1mlyUCTqZqaGs4880xg25RjS0tLC2IrsuM4TlJQoLbyujlOR1Icko7jOI7jOE6eCDbnDLF2+7IgWAKsBpbm7Eu3nl60LefAMAw3eVBREAQrgZkdVqr2ZYttLPA6hOK3cXPb6bZgo/fF5OB9cQNsIzYWdV+EHE+mAIIgeCMMw31y+qVbwdaWs1Dsg+K3MZtyuo3JodjbKRS/jd5OO+69uaTY2ylsfVndzec4juM4jpMFPplyHMdxHMfJgnxMpm7Lw3duDVtbzkKxD4rfxmzK6TYmh2Jvp1D8Nno77bj35pJib6ewlWXNecyU4ziO4zhOMeFuPsdxHMdxnCzI2WQqCIKjgiCYGQTBnCAILsnV926KIAhqgiB4NgiC94IgeDcIggvWPn9FEAQLgiB4a+3PuM34LLcxT7SXjUm1D4rfRm+nbmPG5xS1fWvf4zbmifa0EYiyjHf0D1ACfADsDJQBbwO75+K7N6Ns/YC91/7eHZgF7A5cAfzYbdx2bEyyfduCjd5O3cZtxT63sXhs1E+ulKn9gDlhGM4Nw7AJuAc4LkffvVHCMFwYhuGba39fCbwPVG/FR7mNeaSdbEysfVD8Nno73SKK3cZitw/cxrzSjjYCuXPzVQPzY39/QhaF7iiCIKgF9gJeXfvU94MgmBYEwe1BEHxpE293GxNCFjYWhH1Q/DZ6O93mbSx2+8BtTAxZ2gh4ALoRBEE34H7gwjAMvwBuAQYBI4GFwO/zWLx2wW10GwuBYrcP3EaKwMZitw/cRrbAxlxNphYANbG/d1z7XCIIgqAz0cX8ZxiG/wsQhuGiMAxbwzBMAX8hkis3htuYZ9rBxkTbB8Vvo7dTt3EtxW4fuI15p51sBHI3mXod2CUIgp2CICgDTgEezNF3b5QgCALgb8D7YRheH3u+X+xlJwDvbOKj3MY80k42JtY+KH4bvZ0abmPx2wduY15pRxsjtjRifWt/gHFE0fIfAD/P1fduRrkOAkJgGvDW2p9xwJ3A9LXPPwj0cxuL38ak2rct2Ojt1G3cluxzG4vHxjAMPQO64ziO4zhONngAuuM4juM4Thb4ZMpxHMdxHCcLfDLlOI7jOI6TBT6ZchzHcRzHyQKfTDmO4ziO42SBT6Ycx3Ecx3GywCdTjuM4juM4WeCTKcdxHMdxnCz4/7A7Q7JA7sAiAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 720x180 with 10 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x180 with 10 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x180 with 10 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x180 with 10 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlMAAABSCAYAAABwglFkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJztnXmU1XX9/x/vGWbYBlRg1GERZBFBkUXEhUwoVFDT1HI9aGmZmh7M9FBSR63sVKesLMvD1+X0K80Ws7DQUgQtLQUVFMEFWZSdYZFFhjsz9/P7487z9bkzwzJyZ/ncy+txDofhzh3m/brv9+f9fu3vEEURjuM4juM4zv5R1NYDcBzHcRzHyWdcmXIcx3Ecx8kBV6Ycx3Ecx3FywJUpx3Ecx3GcHHBlynEcx3EcJwdcmXIcx3Ecx8kBV6Ycx3Ecx3FyICdlKoQwMYTwdghhSQjhG801KMdxHMdxnHwh7G/TzhBCMfAOcDqwEpgLXBpF0aLmG57jOI7jOE6yycUzNQZYEkXR0iiKUsCjwHnNMyzHcRzHcZz8oF0OP9sL+CDr3yuBExu+KYRwDXANQOfOnY8/+uijc/iVbcfy5cuprKwMu/teoctYKPIBvPLKK5VRFJU3fL1QZDyQ1ykUvoyFIh/4s4jLmBfsTcZ6RFG0X3+AzwH3Z/17MvDLvf3M8ccfH+UrdWPf5+dS6DLms3xRFEXAvKiAZfR1euDImM/yRZE/i5HLmBc0VcZcPFOrgD5Z/+5d95rjOI7jOE6rkE6nAdixYwc7duwAoEePHgC0a5eLmtN0csmZmgsMCiEcGUIoBS4BZjTPsBzHcRzHcfKD/VbZoiiqCSHcAPwTKAYejKLozWYbmeM4juM4zh54++23AZg7dy4A06dPZ8KECQCceGImhXv8+PEAlJaWtuhYcvJ/RVE0E5jZTGNxHMdxHMfJO1onmOi0CIoTp1IpII4N79y5k5KSEiDWxouK8q/ZveT78MMPAejcuTPQ8hZGS5BKpaipqQGgQ4cOQH7OSVPR3FVVVbFz504glrt9+/YAFBcXE8K+i2SSRlTXm++1116z11588UUAHn/8cQD69+8PwOTJkznllFOA1svdyIXq6mo2b94MwPr164HM86Znr6KiAijstevkBzU1NTzxxBMA/OIXvwDg/fffZ/78+QB8+9vfBqBXr14AHHvssS06Hn8iHMdxHMdxciD5ptI+qK2tNc+MrOHNmzebNdyxY0cAdu3aBUDv3r3Ns5EvVnE6nWbLli1A/RjxM888A8DSpUsBWL16NQBHHHGEWcbHHXccAFdddRV9+mSKL/NB7nXr1nHfffcB8NRTTwEwceJEAK6++mp69+7dZmNrCvJevPDCCwD85z//YevWrQCMGjUKgNGjR9OvX782GV9LkEqleO655wB4881M+qS8G9DYm3HmmWei3jPl5Y3aDSWSyspK/vjHPwLw29/+Fsis1U6dOgHYczpv3jwAevbsafNdVlbW2sNtMi+//DIAzz//PH/4wx8AWLNmDZDxVvXs2ROAr3/960A8XxMmTKC4uLi1h+vsBzU1NXYu6gysra0FMudkPpwL2ezatcuet8svvxyA119/nffeew/I7LkAkyZNAjJ7ckvKmBfKVG1tLStWrADg1VdfBWDt2rUAbNy40RbEww8/DMCyZcvsMBMKMdx2220WArv11lsBErcZSLZFizI38yxZsoSVK1cC2Ea3evVqCxs1VA6XL19uStdHH30EwLhx40yZSjIKMVx00UWWVKj51YH1hS98oU3G1hS07p5++ul6f99///1s374dwOZh2rRpXHDBBQAccsghrT3UZkOGyhNPPMGCBQuAOJTXrVs3e582Phk9L7zwgn39iU98AkjesygWL14MZBR7hfe0gVdVVdmz+OijjwKwbds2ICOPPoskIgPsX//6FwA/+clPbJ4UliwpKWHJkiUAXH/99QC2bnft2sXZZ58NJGvuoiiy9IDly5cDcbpAz549rWy+S5cuQP6GnPdGVVUVgBndCkVnoz110KBBFso97bTTgIzyn+TPZNu2bbZG5TSZMGECp556KhDPt/bdlpbFw3yO4ziO4zg5kGjPlKz8Bx980FzO3/3udwHMEmwq0tJvv/12c7fLdX3FFVc0y3hzIYoiC2fNnJkpkJwxI9O2a/369WZByasxdepUsySELI+FCxeaJ0vJeNLck8oHH2RuJjr55JOBTMjooIMOAmKPhiz8rl27tsEIm4asoX//+99A7Kmorq5myJAhQCzHW2+9xX//+18AzjjjDCA/kpQbojX27LPPWnj5pJNOAjLyyAugefzrX/8KZBrsyTOSVCorK4HYI3z44YfbXMmbtm3bNp599lkAzjrrLAALUfft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\n",
      "text/plain": [
       "<Figure size 720x180 with 10 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "for i in range(10):\n",
    "\n",
    "    ##########################\n",
    "    ### RANDOM SAMPLE\n",
    "    ##########################    \n",
    "    \n",
    "    n_images = 10\n",
    "    rand_features = torch.randn(n_images, num_latent).to(device)\n",
    "    new_images = model.decoder(rand_features)\n",
    "\n",
    "    ##########################\n",
    "    ### VISUALIZATION\n",
    "    ##########################\n",
    "\n",
    "    image_width = 28\n",
    "\n",
    "    fig, axes = plt.subplots(nrows=1, ncols=n_images, figsize=(10, 2.5), sharey=True)\n",
    "    decoded_images = new_images[:n_images]\n",
    "\n",
    "    for ax, img in zip(axes, decoded_images):\n",
    "        ax.imshow(img.detach().to(torch.device('cpu')).reshape((image_width, image_width)), cmap='binary')\n",
    "        \n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "numpy       1.15.4\n",
      "torch       1.0.0\n",
      "\n"
     ]
    }
   ],
   "source": [
    "%watermark -iv"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.1"
  },
  "toc": {
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
